@import url('../js/cleanroom/ticker/ticker.css');
:root{
  --bg:#070b12;--panel:#0d131d;--panel2:#111925;--panel3:#161f2d;--line:#253042;--line2:#1c2635;
  --text:#e8edf5;--muted:#8693a6;--faint:#59677a;--blue:#0096ff;--green:#56f29a;--yellow:#f4d35e;
  --red:#5c1720;--redText:#ff8d9b;--navy:#122640;--grey:#4a5362;--radius:14px;--shadow:0 18px 50px rgba(0,0,0,.34);
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.boot{position:fixed;inset:0;display:grid;place-items:center;background:#05080d;z-index:9999;transition:opacity .25s}.boot img{width:min(384px,57.6vw)}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 18% 12%,#132339 0,transparent 32%),radial-gradient(circle at 80% 80%,#0b3151 0,transparent 28%),#070b12}.auth-card{width:min(440px,100%);background:rgba(11,17,26,.92);border:1px solid #263347;border-radius:22px;padding:34px;box-shadow:var(--shadow);backdrop-filter:blur(12px)}.auth-card .auth-logo{width:80%;max-width:256px;margin:0 auto 24px;display:block}.auth-card h1{font-size:24px;margin:0 0 6px}.auth-card p{margin:0 0 24px;color:var(--muted)}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.field label{font-size:12px;color:#a8b2c2;letter-spacing:.06em;text-transform:uppercase}.field input,.field select,.field textarea,.toolbar input,.toolbar select{background:#0a111b;color:var(--text);border:1px solid #2b3749;border-radius:10px;padding:11px 12px;outline:none}.field textarea{min-height:120px;resize:vertical}.field input:focus,.field textarea:focus,.toolbar input:focus,.toolbar select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,150,255,.1)}.btn{border:1px solid #334159;background:#182235;color:#f4f7fb;border-radius:10px;padding:10px 14px;font-weight:650}.btn:hover{filter:brightness(1.1)}.btn-primary{background:linear-gradient(180deg,#0ba4ff,#0076d3);border-color:#159fff;color:white}.btn-ghost{background:transparent}.btn-danger{background:#38131a;border-color:#63202b}.btn-block{width:100%}.auth-toggle{text-align:center;color:var(--muted);margin-top:16px;font-size:13px}.auth-toggle a{color:#75c8ff;text-decoration:none}.auth-check{display:flex;align-items:flex-start;gap:9px;margin:10px 0;color:#a8b2c2;font-size:13px}.auth-check input{margin-top:2px}.recovery-codes{white-space:pre-wrap;background:#0a111b;border:1px solid #2b3749;border-radius:10px;padding:12px;line-height:1.6;letter-spacing:.05em}.auth-error{padding:10px 12px;border-radius:9px;background:#38131a;border:1px solid #67202b;color:#ffb0ba;font-size:13px;margin-bottom:12px}
.app-shell{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:224px;background:#090e16;border-right:1px solid var(--line2);padding:18px 14px;z-index:50;display:flex;flex-direction:column}.brand{padding:3px 8px 23px;display:block}.brand img{width:180px;max-width:100%}.nav-label{font-size:10px;color:#536174;letter-spacing:.18em;font-weight:800;padding:8px 10px}.nav-label-bottom{margin-top:18px}.main-nav{display:flex;flex-direction:column;gap:3px}.main-nav a{position:relative;display:flex;align-items:center;gap:12px;color:#9aa6b8;text-decoration:none;padding:10px 11px;border-radius:9px;font-size:14px;font-weight:560}.main-nav a:hover{background:#111925;color:#dfe7f2}.main-nav a.active{background:#152237;color:white;box-shadow:inset 3px 0 0 var(--blue)}.nav-icon{width:18px;text-align:center;color:#6e7d91}.main-nav a.active .nav-icon{color:#67c8ff}.market-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green);margin-left:auto}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line2);padding:16px 10px 4px;color:var(--muted)}.tiny-pulse{font-size:10px;letter-spacing:.13em;font-weight:800;color:#a7b4c7;margin-bottom:7px}.tiny-pulse i{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:6px;box-shadow:0 0 12px var(--green)}.sidebar-footer small{font-size:11px;color:#536174}.workspace{margin-left:224px;min-height:100vh}.topbar{height:62px;background:rgba(8,13,21,.93);backdrop-filter:blur(10px);border-bottom:1px solid var(--line2);display:flex;align-items:center;padding:0 22px;position:sticky;top:0;z-index:40}.top-title{font-weight:700;min-width:210px}.market-summary{display:flex;align-items:center;gap:24px;margin:auto;font-size:10px;letter-spacing:.08em;color:#718095}.market-summary b{color:#c7d2e0;font-size:12px;margin-right:4px}.market-summary .green b{color:var(--green)}.top-actions{display:flex;align-items:center;gap:8px}.icon-button{width:36px;height:36px;border-radius:50%;background:#111925;border:1px solid #263347;color:#617087;font-size:8px}.avatar-button{display:flex;align-items:center;gap:9px;background:transparent;border:0;color:white;padding:4px 7px}.avatar-button span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:linear-gradient(145deg,#163e65,#0a78bd);font-weight:800;font-size:11px}.avatar-button em{font-style:normal;font-size:12px;color:#bdc7d6}.view{padding:22px 24px 50px;max-width:1660px;margin:auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.page-head h1{margin:0;font-size:25px;letter-spacing:-.02em}.page-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.panel{background:var(--panel);border:1px solid var(--line2);border-radius:var(--radius);box-shadow:0 6px 25px rgba(0,0,0,.12)}.panel-pad{padding:18px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.muted{color:var(--muted)}.eyebrow{font-size:10px;color:#748398;letter-spacing:.16em;font-weight:800;text-transform:uppercase}.stat-card{padding:14px 16px;background:#0b111a;border:1px solid var(--line2);border-radius:12px}.stat-card b{display:block;font-size:22px;margin-top:4px}.stat-card small{color:var(--muted);font-size:11px}.green{color:var(--green)!important}.yellow{color:var(--yellow)!important}.blue{color:#66c8ff!important}.red{color:var(--redText)!important}
.feed-layout{display:grid;grid-template-columns:minmax(0,740px) 300px;gap:18px;justify-content:center}.feed-post{overflow:hidden;margin-bottom:16px}.post-head{display:flex;align-items:center;gap:10px;padding:13px 15px}.mini-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#1d324c;font-weight:800;font-size:11px}.post-author{font-size:13px;font-weight:700}.post-meta{font-size:11px;color:var(--muted)}.post-media{height:360px;background:linear-gradient(135deg,#172536,#0e4363 40%,#171c2b);position:relative;overflow:hidden}.post-media:before{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(255,255,255,.14);border-radius:50%;left:15%;top:22%;box-shadow:110px 30px 0 -40px rgba(255,255,255,.04)}.post-media .film-tag{position:absolute;left:16px;bottom:14px;background:rgba(5,8,13,.72);border:1px solid rgba(255,255,255,.12);padding:7px 10px;border-radius:9px;font-size:11px}.post-body{padding:14px 16px 17px;font-size:13px;line-height:1.5}.feed-ad{border-color:#2b4a5e}.rail-section{padding:16px;margin-bottom:16px}.rail-section h3{font-size:12px;margin:0 0 12px;color:#d5dce7}.rail-item{display:flex;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid #182231}.rail-item:last-child{border:0}.rail-item b{font-size:12px}.rail-item small{display:block;color:var(--muted);font-size:10px}
.market-page{max-width:none}.market-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.toolbar{display:flex;align-items:center;gap:8px;padding:10px;background:#0b1119;border:1px solid var(--line2);border-bottom:0;border-radius:12px 12px 0 0}.toolbar .market-search{flex:1;min-width:180px}.toolbar select{min-width:160px}.toggle{display:inline-flex;align-items:center;gap:7px;color:#9ba7b8;font-size:12px;white-space:nowrap}.toggle input{accent-color:var(--blue)}.market-shell{border:1px solid #202b3a;border-radius:0 0 12px 12px;overflow:hidden;background:#080d14}.market-table-wrap{overflow:auto;max-height:calc(100vh - 260px);min-height:440px}.market-table{width:100%;border-collapse:collapse;min-width:1100px;table-layout:fixed;font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}.market-table th{position:sticky;top:0;background:#111822;color:#6f7d90;font-size:10px;letter-spacing:.08em;text-align:left;padding:8px 9px;border-bottom:1px solid #283445;z-index:2}.market-table td{font-size:11px;padding:7px 9px;border-bottom:1px solid #141e2a;color:#c3ccda;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .16s,color .16s}.market-table tbody tr{cursor:pointer;background:transparent}.market-table tbody tr:hover td{background:#111a25}.market-table tbody tr.selected td{background:#0096ff!important;color:white}.market-table tbody tr.flash-close td{animation:flashGreen 1.8s ease}.market-table tbody tr.flash-counter td{animation:flashYellow 1.8s ease}.market-table tbody tr.flash-reject td{animation:flashRed 1.8s ease}.market-table .amount{font-weight:800}.market-table .positive{color:var(--green)}.market-table .warn{color:var(--yellow)}.market-table .negative{color:#f57e8c}@keyframes flashGreen{0%,35%{background:#0f603d;color:white}100%{background:transparent}}@keyframes flashYellow{0%,35%{background:#766119;color:white}100%{background:transparent}}@keyframes flashRed{0%,35%{background:#5c1720;color:white}100%{background:transparent}}.market-foot{display:flex;justify-content:space-between;padding:8px 11px;background:#0a1018;border-top:1px solid #1b2634;font-family:monospace;font-size:10px;color:#647286}.detail-drawer{position:fixed;top:62px;right:0;bottom:0;width:min(480px,92vw);background:#0c121c;border-left:1px solid #2a3749;box-shadow:-20px 0 50px rgba(0,0,0,.38);z-index:70;transform:translateX(105%);transition:transform .22s ease;padding:20px;overflow:auto}.detail-drawer.open{transform:translateX(0)}.drawer-close{position:absolute;right:15px;top:14px;background:transparent;border:0;color:#8190a5;font-size:22px}.drawer-price{font-family:monospace;font-size:30px;color:var(--green);margin:12px 0}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.info-box{background:#111925;border:1px solid #202d3e;border-radius:9px;padding:10px}.info-box span{display:block;color:#6e7c90;font-size:9px;letter-spacing:.1em}.info-box b{font-size:12px}.bid-box{margin-top:18px;padding:14px;background:#09131d;border:1px solid #18425f;border-radius:12px}.bid-box h3{margin:0 0 10px;font-size:13px}.bid-row{display:flex;gap:8px}.bid-row input{flex:1;background:#060b11;border:1px solid #2b3c50;color:white;border-radius:8px;padding:10px}.warning-box{margin-top:10px;background:#362e12;border:1px solid #6b5a1d;color:#f9e28d;padding:10px;border-radius:9px;font-size:11px;line-height:1.45}
.production-grid,.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:14px}.production-card,.book-card{position:relative;min-height:168px;padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.12);overflow:hidden;cursor:pointer;box-shadow:0 16px 34px rgba(0,0,0,.15)}.production-card:before,.book-card:before{content:"";position:absolute;inset:0;background:linear-gradient(130deg,#17314c,#111b2b 55%,#233c4f);z-index:-1}.production-card:nth-child(2n):before,.book-card:nth-child(2n):before{background:linear-gradient(130deg,#34254b,#151829 60%,#1f3850)}.card-kicker{font-size:10px;letter-spacing:.13em;color:#a8b8ca;text-transform:uppercase}.production-card h3,.book-card h3{font-size:20px;margin:9px 0 6px}.production-card p,.book-card p{font-size:12px;color:#b0bdcc;line-height:1.45;max-width:80%}.card-code{position:absolute;left:18px;bottom:16px;font-family:monospace;font-size:10px;color:#8190a1}.book-amount{position:absolute;right:17px;top:16px;font-family:monospace;font-size:17px;font-weight:800;color:var(--green)}.state-chip{display:inline-block;padding:5px 8px;border-radius:999px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.13);font-size:9px;letter-spacing:.1em}.state-chip.loi{background:rgba(128,136,151,.25)}
.calendar-shell{padding:15px}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid #263143;border-left:1px solid #263143}.day-name,.day-cell{border-right:1px solid #263143;border-bottom:1px solid #263143}.day-name{padding:7px;font-size:9px;letter-spacing:.12em;color:#667589;background:#101720}.day-cell{min-height:95px;padding:6px;font-size:10px;color:#69798d;background:#0a0f17}.day-cell strong{color:#a9b5c5}.cal-booking{margin-top:6px;padding:5px 6px;border-radius:5px;background:var(--navy);color:#dbe9fa;font-size:9px;line-height:1.25}.cal-booking.loi{background:#4a5362;color:#f1f3f6}
.profile-hero{display:grid;grid-template-columns:160px 1fr auto;gap:20px;align-items:center;padding:22px}.profile-photo{width:150px;height:150px;border-radius:14px;background:linear-gradient(145deg,#30445c,#121b28);border:1px solid #3b4a5f;display:grid;place-items:center;font-size:42px;font-weight:900}.profile-copy h1{margin:0;font-size:28px}.profile-copy p{margin:7px 0;color:#a8b2c1}.trust{font-family:monospace;color:var(--green);font-size:12px}.pill-tabs{display:flex;gap:7px;padding:11px 14px;border-top:1px solid var(--line2);overflow:auto}.pill-tabs button{background:#101722;border:1px solid #263244;color:#8997aa;padding:8px 11px;border-radius:999px;font-size:11px;white-space:nowrap}.pill-tabs button.active{background:#17263a;color:white;border-color:#2f4b6c}.poster-strip{display:flex;gap:10px;overflow:auto;padding:16px}.movie-poster{flex:0 0 102px;height:150px;border-radius:9px;border:1px solid #334158;background:linear-gradient(160deg,#1a3854,#17202e 45%,#3b2444);padding:10px;display:flex;align-items:flex-end;font-weight:800;font-size:11px;box-shadow:0 8px 18px rgba(0,0,0,.25)}
.messages-layout{display:grid;grid-template-columns:310px 1fr;min-height:620px;overflow:hidden}.thread-list{border-right:1px solid var(--line2)}.thread-item{padding:14px;border-bottom:1px solid var(--line2);cursor:pointer}.thread-item.active{background:#152237}.thread-item b{font-size:12px}.thread-item p{font-size:11px;color:var(--muted);margin:5px 0 0}.chat-pane{display:flex;flex-direction:column}.chat-head{padding:15px 17px;border-bottom:1px solid var(--line2);font-weight:700}.chat-body{flex:1;padding:18px;display:flex;flex-direction:column;gap:10px}.bubble{max-width:65%;padding:10px 12px;border-radius:12px;background:#172131;font-size:12px;line-height:1.45}.bubble.me{align-self:flex-end;background:#0c5685}.chat-compose{display:flex;gap:8px;padding:13px;border-top:1px solid var(--line2)}.chat-compose input{flex:1;background:#090f17;border:1px solid #29364a;color:white;border-radius:9px;padding:10px}
.prod-workspace{display:grid;grid-template-columns:210px 1fr;min-height:650px;overflow:hidden}.prod-menu{border-right:1px solid var(--line2);padding:14px}.prod-menu button{width:100%;text-align:left;background:transparent;border:0;color:#8290a3;padding:10px;border-radius:8px;font-size:12px;margin-bottom:4px}.prod-menu button.active{background:#17253a;color:white}.prod-pane{padding:20px}.outline-row{display:grid;grid-template-columns:26px 1fr auto;gap:9px;align-items:start;padding:11px 8px;border-bottom:1px solid #1b2533}.outline-index{font-family:monospace;color:#5c6c81}.outline-row b{display:block;font-size:13px}.outline-row p{margin:4px 0 0;color:#8d99aa;font-size:12px}.story-editor{width:100%;min-height:460px;background:#090e15;color:#e9edf4;border:1px solid #2a3547;border-radius:10px;padding:18px;font-family:Georgia,serif;font-size:15px;line-height:1.7;resize:vertical}.notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.note-card{padding:14px;background:#121a26;border:1px solid #263244;border-radius:11px;min-height:130px}.note-card h4{margin:0 0 7px;font-size:12px}.note-card p{margin:0;color:#99a5b6;font-size:11px;line-height:1.5}.settings-list{max-width:700px}.setting-row{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line2)}.setting-row b{font-size:13px}.setting-row p{margin:4px 0 0;color:var(--muted);font-size:11px}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.68);display:grid;place-items:center;padding:18px;z-index:200}.modal{width:min(620px,100%);max-height:90vh;overflow:auto;background:#0c121c;border:1px solid #2b384a;border-radius:18px;box-shadow:var(--shadow);padding:22px}.modal h2{margin:0 0 7px}.modal p{color:var(--muted);font-size:12px;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.profile-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.type-card{background:#111925;border:1px solid #263349;color:#d9e1ec;text-align:left;border-radius:11px;padding:13px;min-height:78px}.type-card:hover,.type-card.selected{border-color:var(--blue);background:#13243a}.type-card b{display:block;font-size:12px;margin-bottom:4px}.type-card small{color:#78879b;line-height:1.35}.contract-sheet{background:#f4f1e9;color:#151515;border-radius:7px;padding:28px;font-family:"Times New Roman",serif;line-height:1.45}.contract-sheet h1{text-align:center;font-size:16px;letter-spacing:.08em;margin:0 0 4px}.contract-sheet .contract-sub{text-align:center;font-size:11px;margin-bottom:20px}.contract-sheet h3{font-size:12px;margin:17px 0 6px;text-transform:uppercase}.contract-sheet p{color:#222;font-size:11px;margin:0 0 9px;text-align:justify}.signature-line{margin-top:24px;border-top:1px solid #333;padding-top:6px;width:46%;font-size:10px}.toast-root{position:fixed;right:18px;top:78px;display:flex;flex-direction:column;gap:8px;z-index:250}.toast{width:min(340px,calc(100vw - 36px));padding:12px 14px;border-radius:10px;background:#121b29;border:1px solid #2d3b4f;box-shadow:var(--shadow);font-size:12px;animation:toastIn .2s ease}.toast b{display:block;margin-bottom:3px}.toast.green{border-color:#236b4b;color:#d5ffe6}.toast.yellow{border-color:#6c5a20;color:#ffeb9c}.toast.red{border-color:#6a2731;color:#ffc2ca}@keyframes toastIn{from{transform:translateY(-8px);opacity:0}}
.mobile-nav{display:none}
@media(max-width:900px){.sidebar{display:none}.workspace{margin-left:0}.topbar{height:56px;padding:0 13px}.market-summary{display:none}.top-title{min-width:0;flex:1;font-size:13px}.avatar-button em{display:none}.view{padding:14px 12px 82px}.mobile-nav{position:fixed;display:flex;left:0;right:0;bottom:0;height:66px;background:rgba(8,13,21,.97);border-top:1px solid #263143;z-index:100;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav a{flex:1;color:#68778b;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.mobile-nav a.active{color:#79ccff}.mobile-nav span{font-size:17px}.mobile-nav small{font-size:9px}.page-head{align-items:flex-start}.page-head h1{font-size:21px}.page-head p{font-size:11px}.page-actions .btn{padding:8px 10px;font-size:11px}.grid-2,.grid-3{grid-template-columns:1fr}.feed-layout{display:block}.feed-rail{display:none}.post-media{height:270px}.market-stats{grid-template-columns:1fr 1fr}.market-stats .stat-card{padding:10px}.stat-card b{font-size:18px}.toolbar{flex-wrap:wrap}.toolbar .market-search{width:100%;flex-basis:100%}.toolbar select{flex:1;min-width:130px}.market-table-wrap{max-height:calc(100vh - 330px);min-height:370px}.market-table{min-width:860px}.production-grid,.book-grid{grid-template-columns:1fr}.production-card,.book-card{min-height:155px}.month-grid{min-width:720px}.calendar-shell{overflow:auto}.profile-hero{grid-template-columns:92px 1fr;padding:16px}.profile-photo{width:88px;height:88px;font-size:27px}.profile-actions{grid-column:1/-1}.profile-copy h1{font-size:22px}.messages-layout{grid-template-columns:1fr}.thread-list{display:none}.prod-workspace{grid-template-columns:1fr}.prod-menu{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line2);padding:8px}.prod-menu button{width:auto;white-space:nowrap;margin:0}.story-editor{min-height:380px}.profile-type-grid{grid-template-columns:1fr}.modal{padding:18px}.contract-sheet{padding:19px}.toast-root{top:66px;right:10px}}
@media(max-width:520px){.top-title #crumb{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.page-head{display:block}.page-actions{margin-top:11px}.market-stats{gap:7px}.stat-card{padding:9px}.post-media{height:230px}.production-card p,.book-card p{max-width:92%}.detail-drawer{top:56px}.info-grid{grid-template-columns:1fr 1fr}}


/* R16: compact feed/market workspace and live topbar. */
.sidebar{transition:transform .2s ease}.sidebar-close{position:absolute;right:8px;top:8px;width:26px;height:26px;border:0;border-radius:7px;background:#111925;color:#7f8da0;font-size:20px;line-height:20px}.sidebar-open{display:none;position:fixed;left:8px;top:70px;z-index:80;width:30px;height:42px;border:1px solid #263347;border-radius:8px;background:#0d141f;color:#8b9bb0;font-size:22px}.app-shell.sidebar-collapsed .sidebar{transform:translateX(-105%)}.app-shell.sidebar-collapsed .workspace{margin-left:0}.app-shell.sidebar-collapsed .sidebar-open{display:block}.workspace{transition:margin-left .2s ease}
.topbar{gap:14px}.account-market-glance{display:flex;align-items:center;gap:14px;border-left:1px solid #202a38;padding-left:14px}.account-market-glance span,.market-summary span{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:4px;align-items:center}.account-market-glance small,.market-summary small{grid-column:1/3;color:#5d6b7e;font-size:8px;letter-spacing:.1em}.account-market-glance b,.market-summary b{font-family:monospace;font-size:12px}.market-summary{margin:0;gap:13px}.market-summary i{font-style:normal;font-size:8px}.market-pane-toggle.active{border-color:#087dc4;color:#8ad5ff;background:#0d2b42;box-shadow:0 0 0 2px rgba(0,150,255,.08)}
.view{max-width:none}.feed-topline{max-width:760px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;position:relative}.feed-topline #feed-post-new{position:absolute;right:0}.scope-toggle{display:inline-flex;background:#0a111a;border:1px solid #253145;border-radius:999px;padding:3px}.scope-toggle button{border:0;background:transparent;color:#66758a;padding:7px 18px;border-radius:999px;font-size:11px;font-weight:700}.scope-toggle button.active{background:#17314d;color:#e8f5ff;box-shadow:0 0 0 1px #285171 inset}.feed-dashboard{display:flex;justify-content:center}.feed-dashboard .feed-column{width:min(760px,100%)}.feed-dashboard.split-market{display:grid;grid-template-columns:minmax(420px,.95fr) minmax(520px,1.05fr);gap:16px;align-items:start;max-width:1450px;margin:0 auto}.feed-dashboard.split-market .feed-column{width:100%}.compact-market{position:sticky;top:78px;overflow:hidden}.compact-market-head{height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid #202b39}.compact-market-head b{font-size:10px;letter-spacing:.14em}.compact-market-head small{display:block;font-size:9px;color:#647286;margin-top:2px}.compact-market-head a{color:#67c8ff;text-decoration:none;font-size:9px}.compact-market-table{max-height:calc(100vh - 150px);overflow:auto}.compact-market table{width:100%;border-collapse:collapse;table-layout:fixed;font-family:"SFMono-Regular",Consolas,monospace}.compact-market th{position:sticky;top:0;background:#101721;color:#5f6d80;text-align:left;font-size:8px;padding:7px;border-bottom:1px solid #263143}.compact-market td{padding:7px;font-size:9px;border-bottom:1px solid #151f2b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-market th:nth-child(1){width:55px}.compact-market th:nth-child(2){width:auto}.compact-market th:nth-child(3),.compact-market th:nth-child(4){width:58px}.compact-market th:nth-child(5){width:86px}
.feed-post{max-width:760px;margin-left:auto;margin-right:auto}.post-actions{display:flex;align-items:center;gap:6px;padding:0 12px 12px}.post-action{border:0;background:transparent;color:#748398;padding:7px 9px;border-radius:8px;font-size:11px}.post-action:hover{background:#121c29;color:#cbd7e7}.post-star{font-size:14px}.post-star.active{color:#ffd95c}.post-action span{font-size:10px;margin-left:3px}.feed-sentinel{height:52px;display:grid;place-items:center;color:#556478;font-size:10px}.comment-drawer{position:fixed;top:62px;right:0;bottom:0;width:min(420px,92vw);background:#0c121c;border-left:1px solid #2a3749;box-shadow:-20px 0 50px rgba(0,0,0,.38);z-index:90;transform:translateX(105%);transition:transform .22s ease;padding:20px;display:flex;flex-direction:column}.comment-drawer.open{transform:translateX(0)}.comment-drawer h2{font-size:15px;padding-right:30px}.comment-list{flex:1;overflow:auto;margin:12px -4px;padding:0 4px}.comment{padding:11px 0;border-bottom:1px solid #1b2634}.comment b{font-size:11px}.comment small{float:right;color:#59687b;font-size:9px}.comment p{margin:5px 0 0;color:#aab5c5;font-size:11px;line-height:1.45}.comment-compose{display:flex;gap:7px;padding-top:10px;border-top:1px solid #222d3c}.comment-compose input{flex:1;background:#090f17;border:1px solid #29364a;color:white;border-radius:9px;padding:10px}.switch{position:relative;width:42px;height:23px}.switch input{display:none}.switch span{position:absolute;inset:0;background:#252f3d;border-radius:999px;transition:.2s}.switch span:after{content:"";position:absolute;left:3px;top:3px;width:17px;height:17px;border-radius:50%;background:#7b8797;transition:.2s}.switch input:checked+span{background:#064d78}.switch input:checked+span:after{left:22px;background:#6ac9ff}
@media(max-width:1180px){.feed-dashboard.split-market{grid-template-columns:minmax(350px,.85fr) minmax(470px,1.15fr)}}
@media(max-width:900px){.account-market-glance{display:none}.feed-dashboard.split-market{display:block}.compact-market{position:relative;top:auto;margin-bottom:12px;max-height:310px}.compact-market-table{max-height:260px}.feed-topline{justify-content:flex-start}.feed-topline #feed-post-new{right:0}.sidebar-open,.sidebar-close{display:none!important}}
.market-workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;align-items:start}.market-workspace.feed-closed{grid-template-columns:minmax(0,1fr)}.market-workspace.feed-closed .market-feed-side{display:none}.market-primary{min-width:0}.market-toolbar{border-radius:12px 12px 0 0}.market-depth-table{min-width:2540px;table-layout:auto}.market-depth-table th,.market-depth-table td{padding:7px 8px}.market-depth-table th:nth-child(1){width:74px}.market-depth-table th:nth-child(2){width:62px}.market-depth-table th:nth-child(3){width:76px}.market-depth-table th:nth-child(4){width:250px}.market-depth-table th:nth-child(5){width:70px}.market-depth-table th:nth-child(6){width:124px}.market-depth-table th:nth-child(8){width:58px}.market-depth-table th:nth-child(9){width:74px}.market-depth-table th:nth-child(10),.market-depth-table th:nth-child(11),.market-depth-table th:nth-child(20){width:88px}.market-depth-table th:nth-child(12),.market-depth-table th:nth-child(13),.market-depth-table th:nth-child(19),.market-depth-table th:nth-child(21){width:66px}.market-depth-table th:nth-child(14){width:130px}.market-depth-table th:nth-child(15){width:190px}.market-depth-table th:nth-child(16),.market-depth-table th:nth-child(17),.market-depth-table th:nth-child(18){width:88px}.market-depth-table th:nth-child(22){width:150px}.market-depth-table .market-job b{display:block;color:#e7edf6}.market-depth-table .market-job small{display:block;margin-top:2px;color:#617086;font-size:8px;letter-spacing:.04em}.market-depth-table .mono{font-family:"SFMono-Regular",Consolas,monospace}.market-depth-table .market-id{color:#72cfff;font-weight:700}.market-depth-table .action-score{font-weight:800}.market-table-wrap{max-height:calc(100vh - 292px);min-height:500px}.market-feed-side{position:sticky;top:78px;max-height:calc(100vh - 94px);background:#0b111a;border:1px solid #202b39;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.market-feed-head{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid #202b39}.market-feed-head b{font-size:10px;letter-spacing:.15em}.market-feed-head small{display:block;color:#617086;font-size:9px;margin-top:2px}.market-feed-head button{border:0;background:transparent;color:#728196;font-size:20px}.side-scope{align-self:center;margin:10px 0 4px}.side-scope button{padding:5px 13px;font-size:9px}.market-feed-list{overflow:auto;flex:1;padding:0 10px 10px}.side-feed-post{padding:12px 2px;border-bottom:1px solid #192331}.side-feed-author{display:flex;align-items:center;gap:8px}.side-feed-author .mini-avatar{width:29px;height:29px;font-size:9px}.side-feed-author b{display:block;font-size:10px}.side-feed-author small{display:block;color:#667589;font-size:8px;margin-top:1px}.side-feed-post p{font-size:10px;line-height:1.45;color:#aab5c5;margin:8px 0}.side-feed-actions{display:flex;gap:10px}.side-feed-actions button{border:0;background:transparent;color:#718095;font-size:9px;padding:2px 0}.side-feed-actions .post-star.active{color:#ffd95c}.market-feed-more{display:block;padding:10px 12px;border-top:1px solid #202b39;color:#69c8ff;text-decoration:none;font-size:9px;letter-spacing:.08em}.side-feed-empty{padding:18px;color:#617086;font-size:10px}.market-stats{grid-template-columns:1.15fr repeat(3,1fr)}
@media(max-width:1320px){.market-workspace{grid-template-columns:minmax(0,1fr) 315px}.market-feed-side{font-size:9px}}
@media(max-width:1000px){.market-workspace{display:block}.market-feed-side{position:relative;top:auto;max-height:340px;margin-top:12px}.market-table-wrap{max-height:calc(100vh - 360px)}.market-depth-table{min-width:2450px}}


/* R18: denser market tape, 500 ms full-row activity flashes, resizable feed. */
.market-page{padding:12px 12px 34px}
.market-workspace{grid-template-columns:minmax(0,1fr) 6px var(--market-feed-width,360px);gap:6px}
.market-workspace.feed-closed{grid-template-columns:minmax(0,1fr)}
.market-workspace.feed-closed .market-feed-resizer{display:none}
.market-feed-resizer{width:6px;align-self:stretch;min-height:520px;cursor:col-resize;position:relative;border-radius:8px}
.market-feed-resizer:after{content:"";position:absolute;top:45%;bottom:45%;left:2px;width:2px;border-radius:2px;background:#273448;transition:.15s}
.market-feed-resizer:hover:after,.resizing-feed .market-feed-resizer:after{top:35%;bottom:35%;background:#5fbef5}
.resizing-feed{cursor:col-resize!important;user-select:none!important}

/* Match/Trust on one side of a divider, Open/Bids/Closes on the other; labels always above values. */
.account-market-glance{border-left:0;padding-left:0;gap:13px}
.account-market-glance span,.market-summary span{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:4px;align-items:center}
.account-market-glance small,.market-summary small{grid-row:1;grid-column:1/3}
.account-market-glance b{grid-row:2;grid-column:1/3}
.market-summary{border-left:1px solid #2a3545;padding-left:14px;margin-left:1px;gap:13px}
.market-summary b{grid-row:2;grid-column:1}
.market-summary i{grid-row:2;grid-column:2}

/* The market should read like a tape, not a form: compact columns and compact rows. */
.market-depth-table{min-width:1460px;table-layout:fixed}
.market-depth-table th,.market-depth-table td{padding:3px 5px;font-weight:400;line-height:1.12}
.market-depth-table th{font-size:9px;letter-spacing:.045em;height:23px}
.market-depth-table td{font-size:9.5px;height:20px}
.market-depth-table th:nth-child(1){width:55px}.market-depth-table th:nth-child(2){width:44px}.market-depth-table th:nth-child(3){width:58px}.market-depth-table th:nth-child(4){width:170px}.market-depth-table th:nth-child(5){width:48px}.market-depth-table th:nth-child(6){width:88px}.market-depth-table th:nth-child(8){width:40px}.market-depth-table th:nth-child(9){width:50px}.market-depth-table th:nth-child(10),.market-depth-table th:nth-child(11){width:62px}.market-depth-table th:nth-child(12){width:38px}.market-depth-table th:nth-child(13){width:52px}.market-depth-table th:nth-child(14){width:94px}.market-depth-table th:nth-child(15){width:116px}.market-depth-table th:nth-child(16),.market-depth-table th:nth-child(17),.market-depth-table th:nth-child(18){width:62px}.market-depth-table th:nth-child(19){width:42px}.market-depth-table th:nth-child(20){width:58px}.market-depth-table th:nth-child(21){width:45px}.market-depth-table th:nth-child(22){width:108px}
.market-depth-table .market-job span{display:block;color:#dce4ef;font-weight:400;overflow:hidden;text-overflow:ellipsis}
.market-depth-table .market-job small{margin-top:0;font-size:7.5px;line-height:1.05}
.market-depth-table .market-id,.market-depth-table .action-score,.market-table .amount{font-weight:400}
.market-table-wrap{max-height:calc(100vh - 270px);min-height:520px}

/* Market money/status colors carry meaning; type weight does not. */
.market-depth-table .amount{font-variant-numeric:tabular-nums}
.market-depth-table .warn{color:#f4d35e}
.market-depth-table .positive{color:#56f29a}
.market-depth-table .negative{color:#ff7b87}

/* Full-row event flash. Class lives for ~520 ms in app.js, then the row returns to its normal tape color. */




.market-table tbody tr.selected:not(.flash-close):not(.flash-counter):not(.flash-reject) td{background:#0096ff!important;color:#fff}

/* Feed stays the same default width, but its content is now genuinely readable and visual. */
.market-feed-side{min-width:260px}
.market-feed-list{padding:0 11px 10px}
.side-feed-post{padding:13px 1px 14px}
.side-feed-author .mini-avatar{width:31px;height:31px;font-size:10px}
.side-feed-author b{font-size:12px;font-weight:650}
.side-feed-author small{font-size:9.5px}
.side-feed-media{height:126px;margin:10px 0 8px;border-radius:9px;overflow:hidden;position:relative;background:linear-gradient(135deg,#172536,#0d4160 48%,#171d2a);border:1px solid #1d2b3b}
.side-feed-media:before{content:"";position:absolute;width:94px;height:94px;border:1px solid rgba(255,255,255,.16);border-radius:50%;left:17%;top:18%;box-shadow:66px 17px 0 -25px rgba(255,255,255,.055)}
.side-feed-media-announcement{background:linear-gradient(135deg,#1b2230,#263953 55%,#101720)}
.side-feed-media-ad{background:linear-gradient(135deg,#1f2b28,#204e44 52%,#101b18)}
.side-feed-media img{width:100%;height:100%;object-fit:cover;display:block}
.side-feed-media span{position:absolute;left:8px;bottom:7px;padding:4px 6px;border-radius:6px;background:rgba(5,8,13,.75);font-size:8px;color:#dbe5f1;border:1px solid rgba(255,255,255,.1)}
.side-feed-post p{font-size:12px;line-height:1.5;color:#b8c3d2;margin:8px 0 9px}
.side-feed-actions button{font-size:10.5px}

@media(max-width:1320px){.market-workspace{grid-template-columns:minmax(0,1fr) 6px var(--market-feed-width,315px)}}
@media(max-width:1000px){.market-workspace{display:block}.market-feed-resizer{display:none}.market-depth-table{min-width:1460px}}

/* R19: black market tape, toolbar first, tighter cards, category/job semantics. */
.market-toolbar{order:0;border:1px solid #202b3a!important;border-radius:9px!important;padding:6px 7px!important;margin-bottom:6px;background:#06090e!important}
.market-toolbar input,.market-toolbar select{padding:7px 9px!important;border-radius:7px!important}
.market-stats{order:1;gap:6px!important;margin-bottom:6px!important}
.market-stats .stat-card{min-height:42px;padding:5px 8px!important;border-radius:8px;background:#080b10}
.market-stats .stat-card small{font-size:8px;letter-spacing:.06em}
.market-stats .stat-card b{font-size:15px!important;line-height:1.05;margin-top:2px!important;font-weight:500}
.market-shell{order:2;border-radius:9px!important;background:#000!important}
.market-table-wrap{background:#000!important;max-height:calc(100vh - 224px)!important;min-height:540px}
.market-table{background:#000!important}
.market-table thead,.market-table th{background:#050505!important}
.market-table tbody,.market-table tbody tr{background:#000!important}
.market-table tbody tr:hover td{background:#0a0a0a!important}
.market-table td{border-bottom-color:#151515!important}
.market-depth-table{min-width:1380px}
.market-depth-table th:nth-child(1){width:48px}.market-depth-table th:nth-child(2){width:42px}.market-depth-table th:nth-child(3){width:94px}.market-depth-table th:nth-child(4){width:78px}.market-depth-table th:nth-child(14){width:88px}.market-depth-table th:nth-child(15){width:88px}.market-depth-table th:nth-child(22){width:102px}
.market-depth-table .market-job{color:#dce4ef}
.market-depth-table .market-job small{display:none}
.market-depth-table .market-id{letter-spacing:.04em}

/* Exactly 500 ms activity flash; normal tape is immediately restored afterward. */
.market-table tbody tr.flash-close td,.market-table tbody tr.flash-counter td,.market-table tbody tr.flash-reject td{transition:none!important}

@media(max-width:1000px){.market-depth-table{min-width:1380px}.market-table-wrap{max-height:calc(100vh - 330px)!important}}
.market-table td{transition:none!important}

/* R20 Live Market: push tape, denser headers, semantic pills. */
.market-title-row{height:36px;display:flex;align-items:flex-start;justify-content:space-between;margin:0 0 6px}
.market-title-row h1{font-size:20px;line-height:30px;margin:0;letter-spacing:-.02em}
.market-toolbar{margin-top:0}
.market-stats{margin-bottom:6px!important;gap:6px!important}
.market-stats .stat-card{padding:6px 9px!important;min-height:42px;border-radius:7px}
.market-stats .stat-card small{font-size:8px;letter-spacing:.055em}
.market-stats .stat-card b{font-size:14px!important;line-height:16px;margin-top:2px!important;font-weight:400}
.market-table-wrap{max-height:calc(100vh - 196px)!important;min-height:570px}
.market-depth-table{min-width:1325px!important;table-layout:fixed}
.market-depth-table th,.market-depth-table td{padding:2px 4px!important;font-weight:400!important;line-height:1.05}
.market-depth-table th{height:20px!important;font-size:8.5px!important}
.market-depth-table td{height:18px!important;font-size:9.25px!important}
.market-depth-table th:nth-child(1){width:46px}.market-depth-table th:nth-child(2){width:45px}.market-depth-table th:nth-child(3){width:90px}.market-depth-table th:nth-child(4){width:var(--job-col,78px)}.market-depth-table th:nth-child(5){width:55px}.market-depth-table th:nth-child(6){width:94px}.market-depth-table th:nth-child(8){width:38px}.market-depth-table th:nth-child(9){width:48px}.market-depth-table th:nth-child(10){width:58px}.market-depth-table th:nth-child(11){width:43px}.market-depth-table th:nth-child(12){width:58px}.market-depth-table th:nth-child(13){width:66px}.market-depth-table th:nth-child(14){width:36px}.market-depth-table th:nth-child(15){width:50px}.market-depth-table th:nth-child(16){width:44px}.market-depth-table th:nth-child(17){width:90px}.market-depth-table th:nth-child(18){width:var(--origin-col,90px)}.market-depth-table th:nth-child(19){width:66px}.market-depth-table th:nth-child(20){width:57px}.market-depth-table th:nth-child(21){width:68px}.market-depth-table th:nth-child(22){width:78px}
.market-depth-table .market-job,.market-depth-table .market-origin{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trust-value,.action-score,.amount{font-weight:400!important;font-variant-numeric:tabular-nums}
.per-cell{color:#9ba8b9;letter-spacing:.04em}
.age-pill,.code-pill,.duration-pill{display:inline-flex;align-items:center;height:14px;border-radius:7px;padding:0 5px;font-size:8px;line-height:14px;border:1px solid transparent;white-space:nowrap}
.age-18plus{background:#5f1720;border-color:#a12e3d;color:#ff9aa5}.age-young{background:#203a69;border-color:#4169a4;color:#aecaee}.age-standard{background:#544613;border-color:#806b20;color:#ffe373}.age-mature{background:#17452f;border-color:#26734c;color:#74f2ac}
.code-cell{overflow:visible!important;position:relative}.code-pill{position:relative;font-family:"SFMono-Regular",Consolas,monospace;cursor:help;color:#eaf1fa;background:#18324d;border-color:#28547e}.code-br{background:#4b3518;border-color:#755426;color:#ffd690}.code-bl{background:#293d66;border-color:#4268a2;color:#c8dbff}.code-rd{background:#592621;border-color:#8a4035;color:#ffc0b5}.code-gr{background:#354047;border-color:#586971;color:#d8e5ea}.code-bk{background:#20262e;border-color:#3b4653;color:#c5d1df}
.code-pill::after{content:attr(data-tip);display:none;position:absolute;left:0;top:19px;z-index:50;width:max-content;max-width:300px;background:#111820;color:#eef4fb;border:1px solid #3a4a5d;border-radius:6px;padding:6px 8px;font:9px/1.35 system-ui,sans-serif;box-shadow:0 8px 22px rgba(0,0,0,.5);white-space:normal}.code-pill:hover::after{display:block}
.duration-pill{font-family:"SFMono-Regular",Consolas,monospace}.duration-short{background:#1d3a63;border-color:#315e95;color:#b9d7ff}.duration-average{background:#554a17;border-color:#847326;color:#ffe98a}.duration-long{background:#16472f;border-color:#2a7650;color:#82f2b7}
.expiry-countdown{color:#d6dde7;font-variant-numeric:tabular-nums}

.market-foot{height:25px;padding:5px 8px}
@media(max-width:1000px){.market-depth-table{min-width:1325px!important}.market-table-wrap{max-height:calc(100vh - 305px)!important}}

/* --------------------------------------------------------------------------
   R21: bottom base tabs, feed/messages module, news ticker, multi-market shell
   -------------------------------------------------------------------------- */
:root{--base-tabs-h:58px;}
.sidebar,.sidebar-open,.mobile-nav{display:none!important}
.workspace{margin-left:0!important;min-height:100vh;padding-bottom:var(--base-tabs-h)}
.view{max-width:none!important;margin:0!important;padding:7px 10px calc(var(--base-tabs-h) + 12px)!important}
.market-page{padding-top:5px!important}

:root{--app-header-height:44px}
.topbar{height:var(--app-header-height)!important;padding:0 12px!important;gap:10px;top:0}
.top-brand{display:flex;align-items:center;justify-content:center;width:118px;min-width:118px;height:40px;overflow:hidden}
.top-brand img{height:22.4px;width:auto;max-width:100%;display:block}
/* Supplied CA artwork stays unchanged; tint its white silhouette for dark glass. */
.boot img,.auth-logo{filter:brightness(0) saturate(100%) invert(88%) sepia(15%) saturate(640%) hue-rotate(171deg) brightness(101%) contrast(96%);object-fit:contain}
.top-brand img{object-fit:contain}
.topbar{container-type:inline-size;container-name:ca-navbar}
.top-brand{flex-shrink:0}
.top-brand .brand-wordmark{display:none}
@container ca-navbar (min-width:1200px){
 .top-brand{width:clamp(260px,22cqi,300px);min-width:260px;justify-content:flex-start}
 .top-brand .brand-symbol{display:none}
 .top-brand .brand-wordmark{display:block;height:15.68px;width:auto;max-width:100%}
}
.top-metrics{display:flex;align-items:center;gap:10px;margin-left:auto;white-space:nowrap}
.account-market-glance,.market-summary{display:flex;align-items:center;gap:6px;margin:0!important}
.account-market-glance span,.market-summary span{display:grid;grid-template-columns:1fr 12px;grid-template-rows:13px 18px;align-items:center;min-width:62px;width:62px;text-align:center}
.account-market-glance span{grid-template-columns:1fr;min-width:66px;width:66px}
.account-market-glance small,.market-summary small{grid-column:1/-1;font-size:8px!important;line-height:10px;letter-spacing:.08em;color:#6f7e92}
.account-market-glance b,.market-summary b{font-size:11px!important;line-height:14px;margin:0!important;font-weight:500;min-width:44px;font-variant-numeric:tabular-nums}
.market-summary i{font-style:normal;width:12px;display:inline-block;text-align:center;font-size:9px}
.metric-divider{display:block;width:1px;height:31px;background:#2a3545;margin:0 4px}
.top-actions{margin-left:4px}
.icon-button.market-pane-toggle{font-size:15px;color:#9fb1c7;border-radius:9px;width:34px;height:34px}
.icon-button.market-pane-toggle.active{color:#d2ff00;border-color:#50631a;background:#111807}

/* Inverted manila-folder navigation tabs at the base of the workspace. */
.base-tabs{position:fixed;left:0;right:0;bottom:0;height:var(--base-tabs-h);z-index:90;background:#05080d;border-top:1px solid #273241;display:flex;justify-content:center;align-items:flex-end;gap:2px;padding:0 10px;box-shadow:0 -10px 28px rgba(0,0,0,.32);overflow:visible}
.base-tabs:after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:#090d13;border-top:1px solid #303b4b;z-index:0}
.base-tabs a{position:relative;z-index:1;min-width:124px;height:38px;margin:0 -3px 6px;padding:0 20px 5px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#8794a6;font-size:11px;letter-spacing:.025em;white-space:nowrap;isolation:isolate;transition:height .12s ease,color .12s ease,transform .12s ease}
.base-tabs a:before{content:"";position:absolute;inset:0;z-index:-2;background:#151c26;clip-path:polygon(0 0,100% 0,92% 100%,8% 100%);filter:drop-shadow(0 -1px 0 #394556)}
.base-tabs a:after{content:"";position:absolute;left:10px;right:10px;top:1px;height:1px;background:#2d3949;z-index:-1}
.base-tabs a:hover{color:#d7e0eb;transform:translateY(-1px)}
.base-tabs a:hover:before{background:#1a2330}
.base-tabs a.active{height:44px;color:#f7fbff;margin-bottom:6px}
.base-tabs a.active:before{background:linear-gradient(180deg,#18334c 0%,#111d2a 62%,#0c141e 100%);clip-path:polygon(0 0,100% 0,92% 100%,8% 100%);filter:drop-shadow(0 -1px 0 #58bdf8) drop-shadow(0 -5px 10px rgba(0,150,255,.12))}
.base-tabs a.active:after{left:8px;right:8px;top:0;height:2px;background:#0096ff;box-shadow:0 0 10px rgba(0,150,255,.38)}
.folder-tab-label{position:relative;z-index:2;transform:translateY(1px)}

/* Communications frame: Feed is one module with vertical Feed / Messages / + tabs. */
.full-feed-frame{max-width:900px;margin:4px auto 0;height:calc(100vh - 154px)}
.comm-module{height:100%;display:grid;grid-template-columns:34px minmax(0,1fr);background:#090f17;border:1px solid #202a38;border-radius:11px;overflow:hidden}
.comm-tabs{background:#05090f;border-right:1px solid #1b2531;display:flex;flex-direction:column;align-items:stretch}
.comm-tabs button{height:42px;background:transparent;border:0;border-bottom:1px solid #151e29;color:#647387;font-size:15px}.comm-tabs button:hover{color:#d9e3ef;background:#0d151f}.comm-tabs button.active{color:#d2ff00;background:#111807;box-shadow:inset -2px 0 0 #d2ff00}
.comm-content{min-width:0;height:100%;overflow:auto;background:#090f17}
.comm-full .comm-content{padding:12px}.comm-full .feed-column{max-width:740px;margin:0 auto}.comm-full .feed-topline{max-width:740px;margin:0 auto 10px}
.comm-head{height:48px;padding:9px 12px;border-bottom:1px solid #1b2634;display:flex;flex-direction:column}.comm-head b{font-size:10px;letter-spacing:.1em}.comm-head small{font-size:9px;color:#77869a;margin-top:2px}
.dm-thread-list{border-bottom:1px solid #1b2634}.dm-thread{width:100%;background:transparent;border:0;border-bottom:1px solid #121b26;color:#cbd5e2;text-align:left;padding:8px 10px;display:flex;gap:8px;align-items:center}.dm-thread:hover{background:#101925}.dm-thread span:last-child{display:flex;flex-direction:column;min-width:0}.dm-thread b{font-size:11px;font-weight:600}.dm-thread small{font-size:8.5px;color:#738196}
.dm-chat-empty,.side-feed-empty,.people-error{padding:16px;color:#68778b;font-size:10px}.dm-chat{height:100%;display:flex;flex-direction:column}.dm-chat-head{height:40px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #1b2634;padding:0 9px}.dm-chat-head b{font-size:11px}.dm-back{width:25px;height:25px;border:0;border-radius:6px;background:#121d29;color:#b8c4d4}.dm-messages{flex:1;overflow:auto;padding:9px;display:flex;flex-direction:column;gap:7px}.dm-bubble{align-self:flex-start;max-width:88%;background:#172231;border:1px solid #26364a;border-radius:9px 9px 9px 2px;padding:7px 8px;font-size:10px;line-height:1.35}.dm-bubble.me{align-self:flex-end;background:#0d4265;border-color:#17618f;border-radius:9px 9px 2px 9px}.dm-bubble small{display:block;font-size:7px;color:#718095;margin-top:4px}.dm-compose{display:flex;gap:5px;padding:7px;border-top:1px solid #1b2634}.dm-compose input{flex:1;min-width:0;background:#07101a;color:#e7edf5;border:1px solid #263449;border-radius:7px;padding:7px 8px;font-size:10px}.dm-compose .btn{padding:6px 9px;font-size:9px}.friend-list{padding:5px}.friend-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:7px;align-items:center;padding:7px;border-bottom:1px solid #131d28}.friend-row>span:nth-child(2){display:flex;flex-direction:column}.friend-row b{font-size:10px}.friend-row small{font-size:8px;color:#6f7e92}.friend-row .btn{padding:5px 7px;font-size:8px}
.market-feed-side .comm-module{border:0;border-radius:0}.market-feed-side .comm-content{padding:0}.market-feed-side{overflow:hidden!important}
.market-feed-head{height:40px;padding:8px 10px}.market-feed-list{overflow:auto}.market-feed-more{margin-left:10px}

/* Market begins immediately under the news ticker. */
.market-workspace{margin-top:0!important}
.market-primary{min-width:0;display:flex;flex-direction:column}
.market-toolbar{margin:0 0 4px!important;border-radius:7px!important;min-height:34px;gap:5px!important}
.market-toolbar .market-search{min-width:150px;flex:1}
.market-code-filter{width:92px;min-width:92px}.market-location-filter{width:150px;min-width:120px}.market-toolbar select{min-width:105px!important}
.market-selector-row{display:flex;align-items:center;gap:10px;height:29px;background:#05080d;border:1px solid #1b2633;border-radius:6px;margin-bottom:4px;padding:3px 6px;color:#76869b;font-size:8.5px;letter-spacing:.06em}
.market-selector-row label{display:flex;align-items:center;gap:6px}.market-selector-row select{height:21px;background:#0b1119;border:1px solid #283548;border-radius:5px;color:#dce5ef;font-size:9px;padding:0 22px 0 6px}
.submarket-pills{display:flex;gap:3px}.submarket-pills button{height:21px;padding:0 8px;border:1px solid #293548;border-radius:11px;background:#0a1018;color:#75849a;font-size:8.5px}.submarket-pills button.active{background:#163654;border-color:#2576ad;color:#9fd9ff}.submarket-pills button:hover{color:#dbe6f2}
.market-stats{margin-bottom:4px!important}.market-stats .stat-card{min-height:34px!important;height:34px!important;padding:4px 7px!important}.market-stats .stat-card small{font-size:7px}.market-stats .stat-card b{font-size:12px!important;line-height:13px!important}
.market-table-wrap{max-height:calc(100vh - 238px)!important;min-height:570px!important}
.market-feed-reopen{position:fixed;right:8px;top:88px;z-index:65;width:29px;height:29px;border-radius:7px;border:1px solid #2a3747;background:#101925;color:#d2ff00;font-size:13px}

/* Talent/Crew directory. */
.people-market-head{height:30px;display:flex;align-items:center;gap:12px;padding:0 8px;background:#05080d;border:1px solid #1a2431;border-radius:6px 6px 0 0;font-size:9px;letter-spacing:.08em;color:#a9b5c5}.people-market-head .muted{font-size:8px;letter-spacing:0}
.people-market-list{background:#000;border:1px solid #1a2431;border-top:0;min-height:570px;max-height:calc(100vh - 195px);overflow:auto}
.people-row{height:47px;display:grid;grid-template-columns:35px minmax(170px,1.5fr) minmax(105px,.8fr) 78px 115px 45px;gap:7px;align-items:center;padding:4px 7px;border-bottom:1px solid #141414;cursor:pointer;color:#bcc8d6}.people-row:hover{background:#0d1116}.people-headshot{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#173d62,#0e73ad);font-size:9px;font-weight:700}.people-core{display:flex;flex-direction:column;min-width:0}.people-core b{font-size:10.5px;font-weight:500;color:#e1e8f1}.people-core span,.people-core small{font-size:8px;color:#718095;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.people-region{font-size:9px}.people-overlap{display:flex;flex-direction:column;text-align:center}.people-overlap b{color:#66c8ff;font-size:11px;font-weight:500}.people-overlap small{font-size:6.5px;color:#627084}.people-rate{font-size:9px;color:#f4d35e;text-align:right}.people-trust{font-size:10px;text-align:right;font-variant-numeric:tabular-nums}
.people-profile-hero{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;margin-bottom:12px}.people-profile-headshot{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#173d62,#0d80c4);font-size:17px;font-weight:700}.people-profile-hero h2{margin:2px 0 2px}.people-profile-hero p{margin:0 0 5px;color:#8795a7;font-size:11px}.profile-market-actions{display:flex;gap:6px;margin:8px 0 14px}.profile-market-section{border-top:1px solid #1c2734;padding:11px 0}.profile-market-section h3{font-size:10px;margin:0 0 8px;color:#9dabbd;text-transform:uppercase;letter-spacing:.08em}.rate-list,.favorite-list{display:flex;flex-wrap:wrap;gap:5px}.rate-pill,.favorite-pill{display:inline-flex;padding:5px 7px;border-radius:8px;background:#101926;border:1px solid #26364a;font-size:9px;color:#d4dde8}.rate-pill{color:#f4d35e}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.portfolio-tile{height:76px;border-radius:8px;border:1px solid #273649;background:linear-gradient(135deg,#15273a,#0d3d5b);padding:8px;display:flex;flex-direction:column;justify-content:flex-end}.portfolio-tile.video{background:linear-gradient(135deg,#2d1e37,#46265c)}.portfolio-tile.audio{background:linear-gradient(135deg,#1c352e,#285b49)}.portfolio-tile b{font-size:9px}.portfolio-tile small{font-size:7px;color:#98a7b8}.relationship-mini>div{display:flex;flex-direction:column;margin-bottom:6px}.relationship-mini small{font-size:7px;color:#6f7d90}.relationship-mini b{font-size:9px;font-weight:500;color:#cdd6e1}

/* Real portraits must not size the avatar's implicit grid track. */
.people-headshot,.people-profile-headshot,.mini-avatar{position:relative;overflow:hidden}
.mini-avatar{flex-shrink:0}
.people-headshot>.profile-avatar-image,.people-profile-headshot>.profile-avatar-image,.mini-avatar>.profile-avatar-image{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;border-radius:inherit}
/* Image portfolios need a bounded image row plus a separate caption, not the
   short text-placeholder tile. Keep full photographs visible without cropping. */
.public-member-profile .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.public-member-profile .portfolio-tile-image{height:244px;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:6px;overflow:hidden}
.public-member-profile .portfolio-tile-image>img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}
.public-member-profile .portfolio-tile-image>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Top metric widths never change when direction glyph changes. */
.market-summary span b,.market-summary span i{font-variant-numeric:tabular-nums}

@media(max-width:980px){
 .top-brand{width:54px;min-width:54px}.top-brand img{height:19.04px;width:auto;max-width:100%;transform:none}.top-metrics{gap:4px}.account-market-glance span,.market-summary span{width:51px;min-width:51px}.avatar-button em{display:none}
 .base-tabs{justify-content:flex-start;overflow-x:auto;overflow-y:visible;padding-left:7px;padding-right:7px}.base-tabs a{min-width:96px;padding-left:14px;padding-right:14px}
 .market-toolbar{flex-wrap:wrap}.market-toolbar .market-search{min-width:180px}.market-location-filter{width:145px}.market-selector-row{height:auto;min-height:30px;flex-wrap:wrap}
 .full-feed-frame{height:calc(100vh - 150px)}
 .people-row{grid-template-columns:35px minmax(150px,1fr) 90px 50px}.people-overlap,.people-rate{display:none}
}
.profile-rate-card{padding:12px 16px;border-top:1px solid #1d2835;border-bottom:1px solid #1d2835;background:#091018}.profile-rate-card .rate-list{margin-top:7px}.profile-portfolio-preview{padding:14px 16px 18px;border-top:1px solid #1d2835}.profile-portfolio-preview .portfolio-grid{margin-top:8px;max-width:520px}

/* --------------------------------------------------------------------------
   R23: true foreground folder tabs, right-edge comm tabs, taller selector,
   and removal of the market stat-card band.
   -------------------------------------------------------------------------- */
:root{--base-tabs-h:46px}
.workspace{padding-bottom:var(--base-tabs-h)!important}
.view{padding-bottom:calc(var(--base-tabs-h) + 4px)!important}

/* Bottom navigation behaves like overlapping folders. Tabs never move; only
   stacking/background changes when a workspace becomes active. */
.base-tabs{height:var(--base-tabs-h);background:#04070b;border-top:0;justify-content:center;align-items:flex-start;gap:0;padding:0 18px;box-shadow:0 -8px 20px rgba(0,0,0,.24);overflow:visible}
.base-tabs:after{display:none}
.base-tabs a{position:relative;z-index:2;min-width:158px;height:44px;margin:0 -11px 0 0;padding:0 24px 4px 20px;display:flex;align-items:center;justify-content:center;gap:8px;color:#7f8b9b;font-size:11px;letter-spacing:.02em;transition:color .1s ease;transform:none!important}
.base-tabs a:before{content:"";position:absolute;inset:0;z-index:-1;background:#111822;clip-path:polygon(0 0,100% 0,91% 100%,9% 100%);border-top:1px solid #303a48;filter:drop-shadow(1px 0 0 #26313f) drop-shadow(-1px 0 0 #26313f)}
.base-tabs a:after{display:none}
.base-tabs a:hover{color:#d2d9e3;transform:none!important}
.base-tabs a:hover:before{background:#151d28}
.base-tabs a.active{z-index:30;height:44px;margin-bottom:0;color:#f0f4f9}
.base-tabs a.active:before{background:var(--bg);filter:drop-shadow(1px 0 0 #374252) drop-shadow(-1px 0 0 #374252)}
.folder-tab-icon{position:relative;z-index:2;width:15px;text-align:center;color:#9ba8b8;font-size:11px;line-height:1}
.base-tabs a.active .folder-tab-icon{color:#d8e0ea}
.folder-tab-label{position:relative;z-index:2;transform:none}

/* Communications tabs live on the right edge of the Feed/Messages frame. */
.comm-module{grid-template-columns:minmax(0,1fr) 42px}
.comm-content{grid-column:1;grid-row:1}
.comm-tabs{grid-column:2;grid-row:1;border-right:0;border-left:1px solid #1b2531;align-items:center;padding-top:2px;background:#05090f}
.comm-tabs button{width:41px;height:44px;border:0;border-bottom:1px solid #151e29;color:#69778a;display:grid;place-items:center;background:#070b11;position:relative;z-index:1}
.comm-tabs button:hover{background:#101722;color:#d9e3ef}
.comm-tabs button.active{z-index:3;color:#e7edf5;background:#121a25;box-shadow:inset 2px 0 0 #303c4d}
.comm-message-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#173d62,#0e73ad);border:1px solid #39506a;color:#eef6ff;font-size:9px;font-weight:700;background-size:cover;background-position:center;overflow:hidden}
.comm-message-avatar.has-image{color:transparent}
.market-feed-side .comm-tabs{border-left-color:#202b39}

/* The stat-card strip has been removed. Half of that vertical budget goes to
   the market selector, and half to the market tape. */
.market-stats{display:none!important}
.market-selector-row{height:42px!important;min-height:42px!important;padding:7px 9px!important;margin-bottom:2px!important;border-radius:6px!important;gap:12px!important;font-size:9px!important}
.market-selector-row select{height:26px!important;font-size:9.5px!important}
.submarket-pills{gap:5px}
.submarket-pills button{height:26px;padding:0 11px;font-size:9px}
#production-market-pane{min-height:0;display:flex;flex-direction:column}
.market-shell{min-height:0;display:flex;flex-direction:column;flex:1}
.market-table-wrap{max-height:calc(100vh - 213px)!important;min-height:595px!important;flex:1}
.people-market-list{max-height:calc(100vh - 185px)!important;min-height:595px!important}

@media(max-width:980px){
 .base-tabs{justify-content:flex-start;overflow-x:auto;overflow-y:visible;padding-left:8px;padding-right:8px}
 .base-tabs a{min-width:132px;padding-left:17px;padding-right:19px;margin-right:-9px}
 .market-selector-row{height:auto!important;min-height:42px!important}
 .market-table-wrap{max-height:calc(100vh - 250px)!important;min-height:460px!important}
}


/* R24 overrides */
:root{--base-tabs-h:43px}
.base-tabs{height:var(--base-tabs-h)!important;padding:0 16px!important;align-items:flex-start!important;background:#04070b!important;border-top:0!important;overflow:visible!important}
.base-tabs a{height:41px!important;min-width:176px!important;margin:0 -17px 0 0!important;padding:0 28px 3px 22px!important;gap:8px!important;color:#858f9d!important;transform:none!important;filter:drop-shadow(4px 2px 4px rgba(0,0,0,.42))}
.base-tabs a:nth-child(1){z-index:26}.base-tabs a:nth-child(2){z-index:25}.base-tabs a:nth-child(3){z-index:24}.base-tabs a:nth-child(4){z-index:23}.base-tabs a:nth-child(5){z-index:22}.base-tabs a:nth-child(6){z-index:21}
.base-tabs a:before{display:block!important;content:""!important;position:absolute!important;inset:0!important;z-index:-2!important;background:#000!important;clip-path:polygon(0 0,100% 0,91% 100%,9% 100%)!important;filter:none!important}
.base-tabs a:after{display:block!important;content:""!important;position:absolute!important;left:1px!important;right:1px!important;top:1px!important;bottom:1px!important;height:auto!important;z-index:-1!important;background:linear-gradient(180deg,#222b37 0%,#151d28 54%,#0e141d 100%)!important;clip-path:polygon(0 0,100% 0,91% 100%,9% 100%)!important}
.base-tabs a:hover{color:#d9e0e9!important}.base-tabs a:hover:after{background:linear-gradient(180deg,#293442 0%,#19232f 58%,#111923 100%)!important}
.base-tabs a.active{z-index:60!important;height:41px!important;color:#f1f4f8!important;filter:drop-shadow(5px 3px 6px rgba(0,0,0,.56))!important}
.base-tabs a.active:after{background:linear-gradient(180deg,var(--bg) 0%,#0a0f16 60%,#0b1119 100%)!important}
.base-tabs a.active .folder-tab-label:before{content:"";position:absolute;left:14px;right:14px;top:0;height:2px;background:var(--bg);z-index:8;pointer-events:none}
.folder-tab-icon{font-size:10px!important;color:#98a3b2!important}.base-tabs a.active .folder-tab-icon{color:#e2e7ed!important}
.workspace{padding-bottom:var(--base-tabs-h)!important}.view{padding-bottom:calc(var(--base-tabs-h) + 3px)!important}
.market-depth-table td{font-size:9.7px!important}.market-depth-table th{font-size:8.8px!important}
.market-city-filter{width:116px;min-width:92px}.market-state-filter{width:58px;min-width:52px;text-transform:uppercase}.market-zip-filter{width:72px;min-width:66px}.market-distance-filter{width:92px;min-width:86px!important}
.comm-module{min-height:0!important;height:100%!important}.comm-content{height:100%!important;min-height:0!important}.comm-tabs{overflow-y:auto;overflow-x:hidden}.comm-thread-tabs{display:flex;flex-direction:column;align-items:center;width:100%}
.comm-tabs .comm-feed-tab,.comm-tabs .comm-add-tab,.comm-tabs .comm-thread-tab{flex:0 0 44px;width:41px;height:44px}
.comm-thread-tab{border:0;border-bottom:1px solid #151e29;background:#070b11;color:#dbe4ee;display:grid;place-items:center;position:relative}.comm-thread-tab:hover{background:#101722}.comm-thread-tab.active{z-index:4;background:#121a25;box-shadow:inset 2px 0 0 #303c4d}.comm-thread-tab .comm-message-avatar{width:29px;height:29px}
.dm-chat{height:100%!important;min-height:0!important}.dm-chat-head{flex:0 0 40px;justify-content:space-between}.dm-chat-head small{font-size:8px;color:#6f7d90}.market-feed-side,.full-feed-frame{min-height:0}.market-feed-side .comm-module{height:100%!important}
@media(max-width:900px){.base-tabs a{min-width:148px!important;margin-right:-14px!important;padding-left:18px!important;padding-right:24px!important}.market-city-filter{width:105px}.market-state-filter{width:56px}.market-zip-filter{width:68px}.market-distance-filter{width:86px}}


/* -------------------------------------------------------------------------
 * R25: activity returns to score-ranked flow, true seamless active folder
 * join, stronger double contours, fixed-height messaging, gradient bubbles.
 * ------------------------------------------------------------------------- */

/* Workspace/tab join: one double rule across the viewport. The active tab's
   face erases only the segment directly above itself, so the active folder is
   physically open into the current workspace. */
.base-tabs{position:fixed!important;background:#04070b!important;box-shadow:0 -7px 18px rgba(0,0,0,.24)!important}
.base-tabs::before{
  content:""!important;display:block!important;position:absolute!important;
  left:0!important;right:0!important;top:0!important;height:2px!important;
  background:linear-gradient(180deg,#000 0 1px,#3b4654 1px 2px)!important;
  z-index:4!important;pointer-events:none!important;
}
.base-tabs a{
  isolation:isolate!important;overflow:visible!important;
  filter:drop-shadow(5px 2px 4px rgba(0,0,0,.48))!important;
}
/* Outer black contour. */
.base-tabs a:before{
  inset:0!important;background:#000!important;z-index:-4!important;
  clip-path:polygon(0 0,100% 0,91% 100%,9% 100%)!important;
}
/* Lighter inner contour. */
.base-tabs a:after{
  display:block!important;content:""!important;position:absolute!important;
  left:1px!important;right:1px!important;top:1px!important;bottom:1px!important;
  background:#46515f!important;z-index:-3!important;
  clip-path:polygon(0 0,100% 0,91% 100%,9% 100%)!important;
}
/* Actual tab face, inset again to expose both contours. Inactive folders are
   darker and use an inverted gradient (dark at workspace edge, lighter below). */
.folder-tab-face{
  position:absolute;left:2px;right:2px;top:2px;bottom:2px;z-index:-2;
  background:linear-gradient(180deg,#0b1017 0%,#141c26 56%,#222d3a 100%);
  clip-path:polygon(0 0,100% 0,91% 100%,9% 100%);
  pointer-events:none;
}
.base-tabs a:hover .folder-tab-face{background:linear-gradient(180deg,#0e141d 0%,#19232f 56%,#293746 100%)}
.base-tabs a.active{
  z-index:80!important;color:#f4f7fb!important;
  filter:drop-shadow(6px 3px 7px rgba(0,0,0,.62))!important;
}
/* Active folder is lighter. Its face reaches the exact top edge and then
   paints over the two-pixel workspace rule only between this tab's left/right
   edges. No line is allowed between the selected tab and its workspace. */
.base-tabs a.active .folder-tab-face{
  top:0!important;
  background:linear-gradient(180deg,var(--bg) 0%,#18232f 24%,#2c3b4c 100%)!important;
}
.base-tabs a.active .folder-tab-face::before{
  content:"";position:absolute;left:-3px;right:-3px;top:-3px;height:4px;
  background:var(--bg);z-index:10;pointer-events:none;
}
/* Keep the double contour on the sides/bottom of the active tab but erase its
   outer/inner top contour so the workspace opening is genuinely seamless. */
.base-tabs a.active:before,
.base-tabs a.active:after{clip-path:polygon(0 2px,100% 2px,91% 100%,9% 100%)!important}
.base-tabs a.active .folder-tab-label:before{display:none!important}

/* Communications panel never changes height between Feed, friends and any
   direct-message tab. The composer is pinned to the panel bottom. */
.market-feed-side{
  height:calc(100vh - 132px)!important;
  max-height:none!important;
  min-height:520px!important;
}
.market-feed-side .comm-module,
.market-feed-side .comm-content,
.market-feed-side .dm-chat{height:100%!important;min-height:0!important}
.comm-content{overflow:hidden!important}
.comm-content[data-mode="feed"]{overflow:auto!important}
.dm-chat{display:grid!important;grid-template-rows:40px minmax(0,1fr) auto!important}
.dm-chat-head{height:auto!important;min-height:40px!important}
.dm-messages{min-height:0!important;overflow-y:auto!important;padding:11px!important}
.dm-compose{align-self:end!important;background:#080e16!important;padding:9px!important}
.dm-bubble{
  background:linear-gradient(135deg,#25324f 0%,#342c61 54%,#263b6b 100%)!important;
  border-color:#46547c!important;color:#eef3ff!important;
  box-shadow:0 3px 10px rgba(0,0,0,.20)!important;
}
.dm-bubble.me{
  background:linear-gradient(135deg,#0c5273 0%,#126f84 52%,#24805f 100%)!important;
  border-color:#2d8ba0!important;color:#f2ffff!important;
}
.dm-bubble small{color:rgba(233,241,255,.62)!important}

@media(max-width:1000px){
  .market-feed-side{height:420px!important;min-height:420px!important;max-height:420px!important}
}


/* -------------------------------------------------------------------------
 * R26 workspace tabs.
 * ------------------------------------------------------------------------- */
:root{--base-tabs-h:39px}
.workspace{padding-bottom:var(--base-tabs-h)!important}
.view{padding-bottom:calc(var(--base-tabs-h) + 3px)!important}

.settings-button{font-size:15px!important;color:#93a0b1!important;border-radius:8px!important;width:31px!important;height:31px!important}
.settings-button:hover{color:#eef3f9!important;background:#18212d!important;border-color:#384657!important}

.base-tabs{height:var(--base-tabs-h)!important;padding-left:18px!important;padding-right:18px!important;justify-content:flex-start!important}
.base-tabs .base-workspace-tab{
  height:37px!important;min-width:184px!important;margin-right:-18px!important;
  padding:0 31px 3px 23px!important;gap:8px!important;
  border-radius:10px 10px 5px 5px!important;touch-action:none;
  user-select:none;-webkit-user-select:none;cursor:grab
}
.base-tabs .base-workspace-tab:before,
.base-tabs .base-workspace-tab:after,
.base-tabs .folder-tab-face{border-radius:10px 10px 5px 5px!important;clip-path:polygon(4% 0,96% 0,100% 100%,0 100%)!important}
.base-tabs .base-workspace-tab.active:before,
.base-tabs .base-workspace-tab.active:after{clip-path:polygon(4% 2px,96% 2px,100% 100%,0 100%)!important}
.base-tabs .base-workspace-tab.tab-dragging{opacity:.86;filter:drop-shadow(8px 4px 10px rgba(0,0,0,.72))!important;cursor:grabbing!important}
.folder-tab-icon{font-size:10px!important}
.tab-close{position:absolute;right:19px;top:9px;z-index:10;width:16px;height:16px;border:0;background:transparent;color:#768292;font-size:13px;line-height:14px;padding:0;border-radius:50%;display:grid;place-items:center}
.tab-close:hover{background:#2b1418;color:#ff8e97}
.extra-workspace-tab{padding-right:42px!important}

.base-tab-add{flex:0 0 46px;width:46px;height:31px;margin:4px 0 0 13px;border:1px solid #303b49;border-radius:9px 9px 5px 5px;background:linear-gradient(180deg,#1c2530,#101720);color:#aab5c3;font-size:18px;box-shadow:4px 2px 5px rgba(0,0,0,.34);z-index:4}
.base-tab-add:hover{background:linear-gradient(180deg,#273341,#151e29);color:white}

.workspace-add-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}
.workspace-add-choice{display:flex;align-items:center;gap:10px;min-height:48px;border:1px solid #2a3544;border-radius:9px;background:#0d141d;color:#d8e0ea;padding:10px 12px;text-align:left}
.workspace-add-choice span{width:22px;text-align:center;color:#8fa0b4}
.workspace-add-choice:hover{background:#151f2b;border-color:#445266}
.workspace-add-choice.disabled{opacity:.36}
.workspace-add-choice b{font-size:11px;font-weight:600}

.work-view-toggle{display:flex;align-items:center;gap:2px;margin:-4px 0 13px;border-bottom:1px solid #1b2633}
.work-view-toggle button{border:0;border-bottom:2px solid transparent;background:transparent;color:#738196;padding:8px 15px 7px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.work-view-toggle button:hover{color:#c7d1df}
.work-view-toggle button.active{color:#f1f4f8;border-bottom-color:#778596}
#work-tab-label{min-width:72px}

@media(max-width:900px){
 .base-tabs .base-workspace-tab{min-width:154px!important;margin-right:-15px!important;padding-left:19px!important;padding-right:27px!important}
 .extra-workspace-tab{padding-right:39px!important}
 .base-tab-add{flex-basis:42px;width:42px}
}


/* -------------------------------------------------------------------------
 * R29: corrected bottom-folder geometry.
 * Wide at the workspace edge, narrower toward the bottom of the screen.
 * SVG paths provide genuinely rounded trapezoid contours without clip-path.
 * ------------------------------------------------------------------------- */
:root{--base-tabs-h:39px}
.base-tabs{
  height:var(--base-tabs-h)!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;
  display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;gap:0!important;
  padding:0 18px!important;background:#04070b!important;border:0!important;overflow:visible!important;
  box-shadow:0 -7px 18px rgba(0,0,0,.24)!important;z-index:100!important
}
/* Workspace double rule. Active tab sits above it and covers only its own span. */
.base-tabs::before{content:""!important;display:block!important;position:absolute!important;left:0!important;right:0!important;top:0!important;height:2px!important;background:linear-gradient(180deg,#000 0 1px,#3b4654 1px 2px)!important;z-index:3!important;pointer-events:none!important}
.base-tabs::after{display:none!important}
.folder-tab-defs{position:absolute!important;width:0!important;height:0!important;overflow:hidden!important}

.base-tabs .base-workspace-tab,
.base-tabs .base-tab-add{
  position:relative!important;height:37px!important;box-sizing:border-box!important;
  border:0!important;background:transparent!important;border-radius:0!important;clip-path:none!important;
  overflow:visible!important;isolation:isolate!important;transform:none!important;top:0!important;bottom:auto!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  color:#8c98a8!important;filter:drop-shadow(5px 2px 4px rgba(0,0,0,.50))!important;
  box-shadow:none!important;user-select:none!important;-webkit-user-select:none!important
}
.base-tabs .base-workspace-tab{flex:0 0 184px!important;width:184px!important;min-width:184px!important;max-width:184px!important;margin:0 -18px 0 0!important;padding:0 31px 3px 23px!important;cursor:grab!important}
.base-tabs .base-tab-add{flex:0 0 92px!important;width:92px!important;min-width:92px!important;max-width:92px!important;margin:0 -8px 0 10px!important;padding:0 10px 3px!important;cursor:pointer!important;z-index:5!important}

/* Kill all legacy pseudo-shape rules so no accidental full-width layer exists. */
.base-tabs .base-workspace-tab::before,.base-tabs .base-workspace-tab::after,
.base-tabs .base-tab-add::before,.base-tabs .base-tab-add::after,
.base-tabs .folder-tab-face{display:none!important;content:none!important}

.folder-tab-shape{position:absolute!important;left:0!important;top:0!important;width:100%!important;height:100%!important;z-index:-1!important;overflow:visible!important;pointer-events:none!important}
.folder-outer{fill:#000!important}
.folder-inner{fill:#46515f!important}
.folder-face{display:block!important;fill:url(#caTabInactive)!important}
.folder-face-active{display:none!important;fill:url(#caTabActive)!important}
.base-workspace-tab:hover .folder-face,.base-tab-add:hover .folder-face{fill:url(#caTabHover)!important}

.base-workspace-tab.active{z-index:90!important;color:#f2f5f9!important;filter:drop-shadow(6px 3px 7px rgba(0,0,0,.64))!important}
.base-workspace-tab.active .folder-face{display:none!important}
.base-workspace-tab.active .folder-face-active{display:block!important}
/* Active face extends two pixels above the nav and therefore erases both the
   workspace rule and outer/inner top contour only across the active folder. */
.base-workspace-tab.active .folder-tab-shape{top:-2px!important;height:39px!important}

.folder-tab-icon,.folder-tab-label,.tab-close{position:relative!important;z-index:2!important}
.folder-tab-icon{width:15px!important;text-align:center!important;font-size:10px!important;line-height:1!important;color:#a1adbb!important}
.base-workspace-tab.active .folder-tab-icon{color:#edf2f8!important}
.folder-tab-label{white-space:nowrap!important;font-size:11px!important;line-height:1!important}
.add-tab-icon{font-size:18px!important;color:#b9c3cf!important;margin-top:-1px!important}
.base-tab-add:hover .add-tab-icon{color:#fff!important}

.tab-close{position:absolute!important;right:22px!important;top:9px!important;width:16px!important;height:16px!important;border:0!important;background:transparent!important;color:#768292!important;font-size:13px!important;line-height:14px!important;padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important}
.tab-close:hover{background:#2b1418!important;color:#ff8e97!important}
.extra-workspace-tab{padding-right:44px!important}
.base-workspace-tab.tab-dragging{opacity:.84!important;cursor:grabbing!important;filter:drop-shadow(9px 4px 10px rgba(0,0,0,.72))!important}

.workspace{padding-bottom:var(--base-tabs-h)!important}
.view{padding-bottom:calc(var(--base-tabs-h) + 3px)!important}

@media(max-width:900px){
 .base-tabs{overflow-x:auto!important;overflow-y:visible!important;padding-left:8px!important;padding-right:8px!important}
 .base-tabs .base-workspace-tab{flex-basis:164px!important;width:164px!important;min-width:164px!important;max-width:164px!important;margin-right:-15px!important;padding-left:20px!important;padding-right:27px!important}
 .base-tabs .base-tab-add{flex-basis:82px!important;width:82px!important;min-width:82px!important;max-width:82px!important}
}


/* -------------------------------------------------------------------------
 * R30: final folder geometry correction.
 * Selection NEVER changes tab height or Y-position. Top shoulders bow
 * outward like a physical manila folder. The active tab has no top contour:
 * only its side/bottom double contour remains, open directly into workspace.
 * ------------------------------------------------------------------------- */
:root{--base-tabs-h:39px}
.base-tabs{height:var(--base-tabs-h)!important;align-items:flex-start!important}
.base-tabs .base-workspace-tab,
.base-tabs .base-tab-add{
  height:37px!important;min-height:37px!important;max-height:37px!important;
  top:0!important;bottom:auto!important;transform:none!important
}
.base-tabs .base-workspace-tab{
  flex:0 0 184px!important;width:184px!important;min-width:184px!important;max-width:184px!important;
  margin:0 -26px 0 0!important
}
.base-tabs .base-tab-add{
  flex:0 0 88px!important;width:88px!important;min-width:88px!important;max-width:88px!important;
  margin:0 -10px 0 0!important
}
.folder-tab-shape{top:0!important;height:37px!important;max-height:37px!important}
.base-workspace-tab.active{height:37px!important;min-height:37px!important;max-height:37px!important;top:0!important;margin-top:0!important;margin-bottom:0!important}
.base-workspace-tab.active .folder-tab-shape{top:0!important;height:37px!important;max-height:37px!important}

/* Inactive tabs keep their complete double contour. */
.folder-active-outline-outer,.folder-active-outline-inner{display:none}

/* Active tab: face reaches the workspace edge; the top outer/inner rules are
   deliberately absent, while open side/bottom paths preserve the double edge. */
.base-workspace-tab.active .folder-outer,
.base-workspace-tab.active .folder-inner{display:none!important}
.base-workspace-tab.active .folder-face{display:none!important}
.base-workspace-tab.active .folder-face-active{display:block!important;fill:url(#caTabActive)!important}
.base-workspace-tab.active .folder-active-outline-outer{
  display:block!important;fill:none!important;stroke:#000!important;stroke-width:2!important;
  vector-effect:non-scaling-stroke
}
.base-workspace-tab.active .folder-active-outline-inner{
  display:block!important;fill:none!important;stroke:#46515f!important;stroke-width:1!important;
  vector-effect:non-scaling-stroke
}

/* Parent workspace rule remains everywhere except underneath the active tab,
   which sits above it at the exact same fixed height. */
.base-tabs::before{z-index:3!important}
.base-workspace-tab.active{z-index:90!important}

@media(max-width:900px){
 .base-tabs .base-workspace-tab{flex-basis:164px!important;width:164px!important;min-width:164px!important;max-width:164px!important;margin-right:-23px!important}
 .base-tabs .base-tab-add{flex-basis:82px!important;width:82px!important;min-width:82px!important;max-width:82px!important;margin-right:-8px!important}
}


/* -------------------------------------------------------------------------
 * R31: normalized folder geometry.
 * - thin double contour (no heavy nested fill borders)
 * - uniform overlap for every tab
 * - centered tab group
 * - sharp outward top shoulders at the workspace seam
 * - active tab is the same size/position and has no top rule
 * ------------------------------------------------------------------------- */
:root{--base-tabs-h:39px;--tab-overlap:-28px}
.base-tabs{
  height:var(--base-tabs-h)!important;
  left:0!important;right:0!important;bottom:0!important;
  justify-content:center!important;align-items:flex-start!important;
  padding:0 18px!important;gap:0!important;
  overflow:visible!important
}

/* Keep the workspace rule hairline-thin. The active tab sits above it and
   its face masks the rule only within that tab's exact span. */
.base-tabs::before{
  height:1px!important;
  background:#3a4553!important;
  box-shadow:0 -1px 0 #000!important;
  z-index:3!important
}

.base-tabs .base-workspace-tab,
.base-tabs .base-tab-add{
  height:37px!important;min-height:37px!important;max-height:37px!important;
  top:0!important;margin-top:0!important;margin-bottom:0!important;
  transform:none!important;border:0!important;background:transparent!important;
  filter:drop-shadow(3px 2px 3px rgba(0,0,0,.42))!important
}
.base-tabs .base-workspace-tab{
  flex:0 0 184px!important;width:184px!important;min-width:184px!important;max-width:184px!important;
  margin-left:0!important;margin-right:var(--tab-overlap)!important
}
.base-tabs .base-tab-add{
  flex:0 0 86px!important;width:86px!important;min-width:86px!important;max-width:86px!important;
  margin-left:0!important;margin-right:var(--tab-overlap)!important;
  padding:0 10px 3px!important
}

.folder-tab-shape{
  position:absolute!important;left:0!important;top:0!important;width:100%!important;height:37px!important;
  overflow:visible!important;z-index:-1!important;pointer-events:none!important
}

/* The face itself carries only the outer 1px black contour. */
.folder-full-outline{
  display:block!important;
  fill:url(#caTabInactive)!important;
  stroke:#000!important;stroke-width:1!important;vector-effect:non-scaling-stroke!important;
  stroke-linejoin:round!important
}
.folder-inner-outline{
  display:block!important;fill:none!important;
  stroke:#46515f!important;stroke-width:.8!important;vector-effect:non-scaling-stroke!important;
  stroke-linejoin:round!important
}
.base-workspace-tab:hover .folder-full-outline,
.base-tab-add:hover .folder-full-outline{fill:url(#caTabHover)!important}

/* Disable legacy nested contour layers from R29/R30. */
.folder-outer,.folder-inner{display:none!important}
.folder-face:not(.folder-full-outline){display:none!important}
.folder-face-active{display:none!important}

/* Active tab: identical dimensions. Its face reaches exactly to y=0 and
   masks the workspace rule. Only side/bottom contour paths are drawn, so
   there can never be a border between active folder and workspace. */
.base-workspace-tab.active{
  height:37px!important;min-height:37px!important;max-height:37px!important;
  top:0!important;margin-top:0!important;margin-bottom:0!important;
  z-index:90!important;color:#f2f5f9!important;
  filter:drop-shadow(4px 2px 4px rgba(0,0,0,.52))!important
}
.base-workspace-tab.active .folder-full-outline,
.base-workspace-tab.active .folder-inner-outline{display:none!important}
.base-workspace-tab.active .folder-face-active{
  display:block!important;fill:url(#caTabActive)!important;stroke:none!important
}
.base-workspace-tab.active .folder-active-outline-outer{
  display:block!important;fill:none!important;stroke:#000!important;stroke-width:1!important;
  vector-effect:non-scaling-stroke!important;stroke-linejoin:round!important
}
.base-workspace-tab.active .folder-active-outline-inner{
  display:block!important;fill:none!important;stroke:#46515f!important;stroke-width:.8!important;
  vector-effect:non-scaling-stroke!important;stroke-linejoin:round!important
}

/* One overlap rule for fixed, dynamic, and + tabs. No nth-child offsets. */
.base-tabs .base-workspace-tab + .base-workspace-tab,
.base-tabs .base-workspace-tab + .base-tab-add,
.base-tabs .base-tab-add + .base-workspace-tab{margin-left:0!important}

@media(max-width:900px){
 .base-tabs{justify-content:center!important;padding-left:8px!important;padding-right:8px!important}
 .base-tabs .base-workspace-tab{
   flex-basis:164px!important;width:164px!important;min-width:164px!important;max-width:164px!important;
   margin-right:var(--tab-overlap)!important
 }
 .base-tabs .base-tab-add{
   flex-basis:82px!important;width:82px!important;min-width:82px!important;max-width:82px!important;
   margin-right:var(--tab-overlap)!important
 }
}
/* The final tab has no trailing negative margin; overlap remains exactly one
   --tab-overlap between every neighboring pair while the visible group stays
   mathematically centered. */
.base-tabs > .base-workspace-tab:last-of-type:not(:has(+ .base-tab-add)){margin-right:0!important}
.base-tabs > .base-tab-add:last-child{margin-right:0!important}


/* -------------------------------------------------------------------------
 * R32: gradient restoration + uniform tab geometry.
 * - + is the same physical tab size as every workspace tab
 * - explicit top-light/bottom-dark gradients are restored in SVG defs
 * - flare is reduced while preserving the sharp outward shoulder at y=0
 * ------------------------------------------------------------------------- */
.base-tabs .base-workspace-tab,
.base-tabs .base-tab-add{
  flex:0 0 184px!important;
  width:184px!important;
  min-width:184px!important;
  max-width:184px!important;
  height:37px!important;
  min-height:37px!important;
  max-height:37px!important;
  margin-left:0!important;
  margin-right:var(--tab-overlap)!important;
}
.base-tabs .base-tab-add{
  padding:0 23px 3px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.base-tab-add .add-tab-icon{font-size:17px!important}
@media(max-width:900px){
  .base-tabs .base-workspace-tab,
  .base-tabs .base-tab-add{
    flex-basis:164px!important;
    width:164px!important;
    min-width:164px!important;
    max-width:164px!important;
    margin-right:var(--tab-overlap)!important;
  }
}
.base-tabs > .base-tab-add:last-child{margin-right:0!important}


/* R34: active folder becomes the workspace surface; duration values are fixed-width and fully spelled out. */
.base-workspace-tab.active .folder-face-active{fill:var(--bg)!important;}
.duration-cell{width:86px!important;min-width:86px!important;max-width:86px!important;text-align:center!important;}
.duration-pill{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:76px!important;min-width:76px!important;max-width:76px!important;box-sizing:border-box!important;white-space:nowrap!important;}
.market-depth-table th:nth-child(19){width:86px!important;min-width:86px!important;max-width:86px!important;text-align:center!important;}


/* R35: compact duration column + slightly larger market tape type. */
.duration-cell{width:70px!important;min-width:70px!important;max-width:70px!important;text-align:center!important;}
.duration-pill{width:62px!important;min-width:62px!important;max-width:62px!important;padding-left:3px!important;padding-right:3px!important;}
.market-depth-table th:nth-child(19){width:70px!important;min-width:70px!important;max-width:70px!important;text-align:center!important;}
.market-depth-table td{font-size:10.1px!important;}
.market-depth-table th{font-size:9.15px!important;}


/* -------------------------------------------------------------------------
 * R36: lock the Live Market viewport to the top of the permanent tab block.
 *
 * Desktop market pages no longer create a second short document scrollbar.
 * The page itself is exactly the available vertical space between:
 *   topbar + industry ticker + base tabs
 * and the tape owns the only vertical scrollbar.
 * ------------------------------------------------------------------------- */
@media(min-width:1001px){
  .view.market-page{
    height:calc(100vh - var(--app-header-height) - 20px - var(--base-tabs-h))!important;
    min-height:0!important;
    padding:0 10px 0!important;
    overflow:hidden!important;
  }

  .market-page .market-workspace{
    height:100%!important;
    min-height:0!important;
    align-items:stretch!important;
  }

  .market-page .market-primary{
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  .market-page #production-market-pane{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  .market-page .market-shell{
    flex:1 1 auto!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  .market-page .market-table-wrap{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    height:auto!important;
    overflow:auto!important;
  }

  .market-page .market-foot{
    flex:0 0 auto!important;
  }

  .market-page .market-feed-resizer{
    min-height:0!important;
    height:100%!important;
  }

  .market-page .market-feed-side{
    position:relative!important;
    top:auto!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    align-self:stretch!important;
  }

  .market-page #people-market-pane{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  .market-page .people-market-list{
    min-height:0!important;
    max-height:none!important;
    height:100%!important;
    overflow:auto!important;
  }
}


/* -------------------------------------------------------------------------
 * R37: bounded live-market viewport + two compositor-friendly ticker tapes.
 * ------------------------------------------------------------------------- */
:root{--market-tab-gap:5px}

@media(min-width:1001px){
  .view.market-page{
    height:calc(100vh - var(--app-header-height) - 20px - 20px - var(--base-tabs-h) - var(--market-tab-gap))!important;
    min-height:0!important;
    padding:0 10px 0!important;
    overflow:hidden!important;
    margin-bottom:var(--market-tab-gap)!important;
  }
  .market-page .market-workspace{height:100%!important;min-height:0!important;align-items:stretch!important}
  .market-page .market-primary{height:100%!important;min-height:0!important;overflow:hidden!important}
  .market-page .market-toolbar{
    flex:0 0 40px!important;min-height:40px!important;height:40px!important;
    box-sizing:border-box!important;padding:5px 7px!important;align-items:center!important;overflow:visible!important
  }
  .market-page .market-toolbar input,
  .market-page .market-toolbar select{
    height:28px!important;min-height:28px!important;box-sizing:border-box!important;padding:4px 7px!important
  }
  .market-page .market-selector-row{
    flex:0 0 38px!important;height:38px!important;min-height:38px!important;
    box-sizing:border-box!important;padding:5px 8px!important
  }
  .market-page #production-market-pane{flex:1 1 auto!important;min-height:0!important;overflow:hidden!important}
  .market-page .market-shell{height:100%!important;min-height:0!important;overflow:hidden!important}
  .market-page .market-table-wrap{
    flex:1 1 auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:auto!important
  }
  .market-page .market-foot{flex:0 0 27px!important;min-height:27px!important;box-sizing:border-box!important}
  .market-page .market-feed-resizer{height:100%!important;min-height:0!important}
  .market-page .market-feed-side{
    position:relative!important;top:auto!important;bottom:auto!important;height:100%!important;
    min-height:0!important;max-height:none!important;align-self:stretch!important
  }
  .market-page .market-feed-side .comm-module,
  .market-page .market-feed-side .comm-content{height:100%!important;min-height:0!important}
  .market-page #people-market-pane{flex:1 1 auto!important;min-height:0!important;overflow:hidden!important}
  .market-page .people-market-list{height:100%!important;min-height:0!important;max-height:none!important;overflow:auto!important}
}


/* -------------------------------------------------------------------------
 * R39: market terms + forum rail.
 * ------------------------------------------------------------------------- */
/* 23-column tape: CATEGORY, FMT, JOB, UNION remain compact and readable. */
.market-depth-table{min-width:1480px!important;table-layout:fixed!important}
.market-depth-table th:nth-child(1){width:46px!important}
.market-depth-table th:nth-child(2){width:45px!important}
.market-depth-table th:nth-child(3){width:90px!important}
.market-depth-table th:nth-child(4){width:42px!important}
.market-depth-table th:nth-child(5){width:var(--job-col,78px)!important}
.market-depth-table th:nth-child(6){width:44px!important}
.market-depth-table th:nth-child(8){width:55px!important}
.market-depth-table th:nth-child(9){width:94px!important}
.market-depth-table th:nth-child(10){width:38px!important}
.market-depth-table th:nth-child(11){width:48px!important}
.market-depth-table th:nth-child(12){width:58px!important}
.market-depth-table th:nth-child(13){width:43px!important}
.market-depth-table th:nth-child(14){width:58px!important}
.market-depth-table th:nth-child(15){width:66px!important}
.market-depth-table th:nth-child(16){width:36px!important}
.market-depth-table th:nth-child(17){width:50px!important}
.market-depth-table th:nth-child(18){width:44px!important}
.market-depth-table th:nth-child(19){width:90px!important}
.market-depth-table th:nth-child(20){width:var(--origin-col,90px)!important}
.market-depth-table th:nth-child(21){width:70px!important;min-width:70px!important;max-width:70px!important;text-align:center!important}
.market-depth-table th:nth-child(22){width:45px!important}
.market-depth-table th:nth-child(23){width:68px!important}
.market-depth-table th:nth-child(24){width:78px!important}
.market-depth-table .fmt-cell,.market-depth-table .union-cell{color:#a9b5c5;text-align:center;letter-spacing:.025em}
.market-depth-table .duration-cell{width:70px!important;min-width:70px!important;max-width:70px!important;text-align:center!important}

/* One board-wide duration baseline: short=yellow, nominal=blue, long=green. */
.duration-short{background:#554a17!important;border-color:#847326!important;color:#ffe98a!important}
.duration-average{background:#173d61!important;border-color:#2d6497!important;color:#b9dcff!important}
.duration-long{background:#16472f!important;border-color:#2a7650!important;color:#82f2b7!important}

/* The topic/forum rail mirrors the communications rail on the opposite side. */
.market-workspace{
  grid-template-columns:41px minmax(0,1fr) 6px var(--market-feed-width,360px)!important;
  gap:6px!important;
}
.market-workspace.feed-closed{grid-template-columns:41px minmax(0,1fr)!important}
.market-workspace.feed-closed .market-feed-resizer,.market-workspace.feed-closed .market-feed-side{display:none!important}
.market-forum-tabs{
  width:41px;min-width:41px;height:100%;min-height:0;align-self:stretch;
  background:#05090f;border:1px solid #202b39;border-radius:7px 0 0 7px;
  overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;align-items:center;
  box-sizing:border-box
}
.market-forum-tabs button{
  flex:0 0 44px;width:40px;height:44px;border:0;border-bottom:1px solid #151e29;
  background:#070b11;color:#69778a;display:grid;place-items:center;font-size:15px;position:relative
}
.market-forum-tabs button:hover{background:#101722;color:#d9e3ef}
.market-forum-tabs button.active{z-index:3;color:#e7edf5;background:#121a25;box-shadow:inset -2px 0 0 #303c4d}
.market-forum-tabs .forum-topic-tab span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:linear-gradient(145deg,#1b2837,#0d141d);border:1px solid #354354;font:600 8px/1 "SFMono-Regular",Consolas,monospace;color:#c9d3df}
.market-forum-tabs .forum-topic-tab.active span{background:linear-gradient(145deg,#2b3b50,#131d29);color:white}
.forum-followed-tabs{display:flex;flex-direction:column;align-items:center;width:100%}
.market-main-view{height:100%;min-height:0;display:flex;flex-direction:column}
.market-forum-view{height:100%;min-height:0;overflow:auto;background:#070b11;border:1px solid #202b39;border-radius:7px;color:#cbd4df}
.forum-view-head{min-height:52px;padding:10px 13px;border-bottom:1px solid #1c2734;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#0b1119;box-sizing:border-box}
.forum-view-head b{display:block;font-size:10px;letter-spacing:.12em}.forum-view-head small{display:block;color:#728196;font-size:9px;margin-top:3px}
.forum-directory{padding:8px}.forum-directory-card{display:flex;gap:12px;align-items:center;padding:11px 12px;border-bottom:1px solid #17212d;cursor:pointer}.forum-directory-card:hover{background:#0e1620}.forum-directory-card b{font-size:11px}.forum-directory-card p{margin:3px 0;color:#8795a8;font-size:10px}.forum-directory-card small{color:#58687d;font-size:8px}.forum-badge{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;border:1px solid #354354;background:#131d28;color:#d4dde8;font:600 9px/1 monospace}
.forum-thread-list{padding:4px 10px}.forum-thread{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 6px;border-bottom:1px solid #17212d}.forum-thread b{font-size:11px}.forum-thread p{font-size:9px;color:#77879a;margin:3px 0 0}.forum-thread>span{color:#65778d;font:9px/1 monospace;white-space:nowrap}
.forum-follow-grid{display:grid;gap:7px;margin:16px 0}.forum-follow-choice{display:flex;align-items:center;gap:11px;padding:9px 10px;border:1px solid #2b3747;border-radius:8px;background:#0d141d;color:#dce4ed;text-align:left}.forum-follow-choice>span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;border:1px solid #354354;background:#172230;font:600 8px/1 monospace}.forum-follow-choice b{display:block;font-size:10px}.forum-follow-choice small{display:block;color:#738196;font-size:8.5px;margin-top:2px}.forum-follow-choice:hover{background:#141e29}.forum-follow-choice.disabled{opacity:.38}

@media(max-width:1320px){.market-workspace{grid-template-columns:41px minmax(0,1fr) 6px var(--market-feed-width,315px)!important}}
@media(max-width:1000px){.market-workspace{display:block!important}.market-forum-tabs{display:none!important}.market-depth-table{min-width:1480px!important}}

/* -------------------------------------------------------------------------
 * R41 market taxonomy / filters / analysis presentation.
 * ------------------------------------------------------------------------- */
.market-selector-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
.market-selector-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.market-selector-left>label{display:flex;align-items:center;gap:7px;white-space:nowrap}
.submarket-pills{display:flex;align-items:center;gap:3px;min-width:0;overflow-x:auto;overflow-y:hidden;padding-bottom:1px}
.submarket-pills button{flex:0 0 auto}
.submarket-divider{display:block;flex:0 0 1px;width:1px;height:18px;background:#33404f;margin:0 4px}
.market-state-filters{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex:0 0 auto;padding-left:12px;border-left:1px solid #273341}
.market-check{display:inline-flex;align-items:center;gap:5px;color:#8997a9;font-size:9px;letter-spacing:.025em;white-space:nowrap;cursor:pointer;user-select:none}
.market-check input{position:absolute;opacity:0;pointer-events:none}
.market-check-box{width:11px;height:11px;box-sizing:border-box;border:1px solid #445165;border-radius:3px;background:linear-gradient(180deg,#151e29,#0a1017);box-shadow:inset 0 0 0 1px #05080c;position:relative}
.market-check input:checked+.market-check-box{border-color:#6d829a;background:linear-gradient(180deg,#33465d,#1b2a3b)}
.market-check input:checked+.market-check-box:after{content:"";position:absolute;left:2px;top:2px;width:5px;height:3px;border-left:1.5px solid #d7e5f5;border-bottom:1.5px solid #d7e5f5;transform:rotate(-45deg)}
.market-check:hover{color:#cbd5e1}

.market-toolbar{flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important}
.market-toolbar .market-code-filter{flex:0 0 92px!important;width:92px!important;min-width:92px!important}
.market-toolbar .market-search{flex:1 1 220px!important;min-width:180px!important}
.market-toolbar #market-job-type{flex:0 0 150px!important;width:150px!important;min-width:150px!important}
.market-toolbar .market-country-filter{flex:0 0 130px!important;width:130px!important;min-width:130px!important}
.market-toolbar .market-city-filter{flex:0 0 104px!important;width:104px!important;min-width:104px!important}
.market-toolbar .market-state-filter{flex:0 0 92px!important;width:92px!important;min-width:92px!important;text-transform:none!important}
.market-toolbar .market-zip-filter{flex:0 0 86px!important;width:86px!important;min-width:86px!important}
.market-toolbar .market-distance-filter{flex:0 0 92px!important;width:92px!important;min-width:92px!important}

/* Category, Location and STD must never be ellipsized. */
.market-depth-table th:nth-child(3){width:var(--category-col,104px)!important;min-width:var(--category-col,104px)!important}
.market-depth-table th:nth-child(18){width:58px!important;min-width:58px!important}
.market-depth-table th:nth-child(19){width:var(--location-col,104px)!important;min-width:var(--location-col,104px)!important}
.market-depth-table .category-cell,.market-depth-table .location-cell,.market-depth-table .std-cell{
  overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important
}
.market-depth-table .std-cell{min-width:58px!important}
.hidden-col{display:none!important}

/* Keep the Production selector usable when the right-side filters are present. */
@media(min-width:1001px){
 .market-page .market-selector-row{height:40px!important;min-height:40px!important;flex-basis:40px!important;padding:5px 8px!important}
}
@media(max-width:1250px){
 .market-state-filters{gap:6px;padding-left:8px}
 .market-check{font-size:8px}
}


/* -------------------------------------------------------------------------
 * R47 Touch Pulse.
 * MARKET_VIEW is intentionally distinct from bid/counter activity:
 * a single deep forest-green/navy pulse, 1800 ms total, returning to the
 * underlying row background.  box-shadow lets the pulse remain visible even
 * over a selected row without replacing its persistent selected background.
 * ------------------------------------------------------------------------- */
@keyframes marketTouchPulse{
  0%,35%{box-shadow:inset 0 0 0 999px rgba(6,43,35,.98)}
  100%{box-shadow:inset 0 0 0 999px rgba(6,43,35,0)}
}
.market-depth-table tbody tr.flash-touch td,
.market-table tbody tr.flash-touch td{
  animation:marketTouchPulse 1800ms ease-in-out!important;
}
.compact-market tr.flash-touch td{
  animation:marketTouchPulse 1800ms ease-in-out!important;
}

/* R79 rank movement pulse: deep navy, same 1800 ms cadence as the touch pulse.
   Applied only when a rendered ask actually changes row position. */
@keyframes marketMovePulse{
  0%{box-shadow:inset 0 0 0 999px rgba(5,20,55,0)}
  46%{box-shadow:inset 0 0 0 999px rgba(5,20,55,.98)}
  100%{box-shadow:inset 0 0 0 999px rgba(5,20,55,0)}
}
.market-depth-table tbody tr.flash-move td,
.market-table tbody tr.flash-move td,
.compact-market tr.flash-move td{
  animation:marketMovePulse 1800ms ease-in-out!important;
}


/* -------------------------------------------------------------------------
 * R48 market activity palette: deep, translucent 1800ms pulses.
 * ------------------------------------------------------------------------- */
/* Posting/opening/bidding/acceptance retain the existing row-pulse language. */
@keyframes marketEventPulse{
  0%,35%{box-shadow:inset 0 0 0 999px var(--market-event-color)}
  100%{box-shadow:inset 0 0 0 999px transparent}
}
.market-table tr.flash-post,.compact-market tr.flash-post{--market-event-color:rgba(104,53,147,.75)}
.market-table tr.flash-open,.compact-market tr.flash-open{--market-event-color:rgba(65,105,180,.75)}
.market-table tr.flash-bid,.compact-market tr.flash-bid{--market-event-color:rgba(135,105,20,.75)}
.market-table tr.flash-accept,.compact-market tr.flash-accept{--market-event-color:rgba(8,91,52,.88)}
.market-table tbody tr:is(.flash-post,.flash-open,.flash-bid,.flash-accept) td,
.compact-market tr:is(.flash-post,.flash-open,.flash-bid,.flash-accept) td{animation:marketEventPulse 1800ms ease-in-out!important}
@keyframes marketCounterPulse{
  0%,35%{background-color:rgba(91,68,8,.86)}
  100%{background-color:rgba(91,68,8,0)}
}
@keyframes marketRejectPulse{
  0%,35%{background-color:rgba(78,15,25,.88)}
  100%{background-color:rgba(78,15,25,0)}
}
@keyframes marketClosePulse{
  0%,35%{background-color:rgba(8,91,52,.94)}
  100%{background-color:rgba(8,91,52,0)}
}
.market-table tbody tr.flash-counter:not(.selected) td,
.compact-market tr.flash-counter td{animation:marketCounterPulse 1800ms ease-in-out!important}
.market-table tbody tr.flash-reject:not(.selected) td,
.compact-market tr.flash-reject td{animation:marketRejectPulse 1800ms ease-in-out!important}
.market-table tbody tr.flash-close:not(.selected) td,
.compact-market tr.flash-close td{animation:marketClosePulse 1800ms ease-in-out!important}

/* Selected rows retain their blue selection and receive a translucent overlay. */
@keyframes marketCounterSelectedPulse{
  0%,35%{box-shadow:inset 0 0 0 999px rgba(91,68,8,.80)}
  100%{box-shadow:inset 0 0 0 999px rgba(91,68,8,0)}
}
@keyframes marketRejectSelectedPulse{
  0%,35%{box-shadow:inset 0 0 0 999px rgba(78,15,25,.82)}
  100%{box-shadow:inset 0 0 0 999px rgba(78,15,25,0)}
}
@keyframes marketCloseSelectedPulse{
  0%,35%{box-shadow:inset 0 0 0 999px rgba(8,91,52,.88)}
  100%{box-shadow:inset 0 0 0 999px rgba(8,91,52,0)}
}
.market-table tbody tr.selected.flash-counter td{animation:marketCounterSelectedPulse 1800ms ease-in-out!important}
.market-table tbody tr.selected.flash-reject td{animation:marketRejectSelectedPulse 1800ms ease-in-out!important}
.market-table tbody tr.selected.flash-close td{animation:marketCloseSelectedPulse 1800ms ease-in-out!important}


/* R51 compact production origin: ISO flag + alpha-2 country code. */
.market-depth-table .market-origin{
  width:var(--origin-col,55px)!important;
  min-width:var(--origin-col,55px)!important;
  max-width:var(--origin-col,55px)!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  text-align:left;
}
.market-origin .origin-flag{
  display:inline-block;
  width:20px;
  margin-right:3px;
  font-size:13px;
  line-height:1;
  vertical-align:-1px;
}
.market-origin .origin-code{
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  font-size:9.5px;
  letter-spacing:.04em;
}


/* R52: muted country flags + compact market-footer flag toggle. */
.market-origin .origin-flag{
  opacity:.48;
}

/* Flag-off mode leaves the ISO alpha-2 code intact. */
.market-flags-off .market-origin .origin-flag{
  display:none!important;
}
.market-flags-off .market-depth-table .market-origin{
  width:34px!important;
  min-width:34px!important;
  max-width:34px!important;
}
.market-foot-right{
  display:flex;
  align-items:center;
  gap:9px;
}
.market-flag-control{
  display:inline-flex;
  align-items:center;
  gap:5px;
  height:16px;
  color:#667284;
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  font-size:7px;
  letter-spacing:.06em;
  cursor:pointer;
  user-select:none;
}
.market-flag-control input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.market-flag-switch{
  position:relative;
  display:inline-block;
  width:25px;
  height:12px;
  box-sizing:border-box;
  border:1px solid #2a3442;
  border-radius:8px;
  background:#0a1018; /* same family as the market footer when OFF */
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015);
  transition:background-color .14s ease,border-color .14s ease;
}
.market-flag-switch:after{
  content:"";
  position:absolute;
  left:2px;
  top:2px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#768397;
  transition:transform .14s ease,background-color .14s ease;
}
.market-flag-control input:checked + .market-flag-switch{
  background:#6495ed; /* cornflower blue */
  border-color:#769ff0;
}
.market-flag-control input:checked + .market-flag-switch:after{
  transform:translateX(13px);
  background:#dbe7ff;
}
.market-flag-control input:focus-visible + .market-flag-switch{
  outline:1px solid #92b3f4;
  outline-offset:2px;
}


/* R53: make the footer flag switch clearly visible without making it bulky. */
.market-foot-right{
  gap:7px!important;
}
.market-flag-control{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:31px!important;
  height:16px!important;
  margin-right:1px!important;
  flex:0 0 31px!important;
}
.market-flag-switch{
  width:30px!important;
  height:14px!important;
  border:1px solid #465365!important;
  border-radius:8px!important;
  background:#151d28!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 0 0 1px rgba(0,0,0,.32)!important;
}
.market-flag-switch:after{
  left:2px!important;
  top:2px!important;
  width:8px!important;
  height:8px!important;
  background:#8793a4!important;
  box-shadow:0 0 0 1px rgba(0,0,0,.25)!important;
}
.market-flag-control input:checked + .market-flag-switch{
  background:#6495ed!important;
  border-color:#82a9ef!important;
}
.market-flag-control input:checked + .market-flag-switch:after{
  transform:translateX(16px)!important;
  background:#e2ebff!important;
}


/* R55 footer sectioning: FLAG ICONS control is a distinct section before LIVE. */
.market-foot-right{
  display:flex!important;
  align-items:center!important;
  gap:0!important;
}
.market-flag-section{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding-right:10px;
}
.market-flag-label{
  color:#667284;
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  font-size:7.5px;
  letter-spacing:.055em;
  white-space:nowrap;
}
.market-flag-control{
  width:auto!important;
  flex:0 0 auto!important;
  height:16px!important;
  margin:0!important;
  gap:5px!important;
}
.market-flag-state{
  display:inline-flex;
  align-items:center;
  gap:3px;
  color:#566274;
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  font-size:7px;
  line-height:1;
  letter-spacing:.035em;
  white-space:nowrap;
}
.market-flag-state b{
  font-weight:500;
}
.market-flag-state em{
  font-style:normal;
  color:#394454;
}
.market-flag-control input:checked + .market-flag-switch + .market-flag-state .flag-state-on{
  color:#8eb3f4;
}
.market-flag-control input:checked + .market-flag-switch + .market-flag-state .flag-state-off{
  color:#465162;
}
.market-flag-control input:not(:checked) + .market-flag-switch + .market-flag-state .flag-state-on{
  color:#465162;
}
.market-flag-control input:not(:checked) + .market-flag-switch + .market-flag-state .flag-state-off{
  color:#8a96a8;
}
.market-foot-divider{
  display:inline-block;
  width:1px;
  height:13px;
  margin:0 10px 0 1px;
  background:#263140;
  box-shadow:1px 0 0 rgba(255,255,255,.018);
}
.market-live-status{
  display:inline-block;
  white-space:nowrap;
  margin-right:1px;
}


/* -------------------------------------------------------------------------
 * R56 market tape density.
 * Reclaimed space from TRUST/FMT/JOB/CODE/STD is reassigned to the monetary
 * columns now that all values carry "$ " and two decimal places.
 * ------------------------------------------------------------------------- */
.market-depth-table th:nth-child(2){width:38px!important;min-width:38px!important}
.market-depth-table th:nth-child(4){width:36px!important;min-width:36px!important}
.market-depth-table th:nth-child(5){width:var(--job-col,64px)!important;min-width:var(--job-col,64px)!important}
.market-depth-table th:nth-child(9){width:80px!important;min-width:80px!important}
.market-depth-table th:nth-child(18){width:48px!important;min-width:48px!important}

/* JOB follows the measured longest title on the current board. */
.market-depth-table .market-job{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
}
.market-depth-table .fmt-cell{letter-spacing:0!important}
.market-depth-table .trust-value{padding-left:2px!important;padding-right:2px!important}
.market-depth-table .code-cell{padding-left:2px!important;padding-right:2px!important}
.market-depth-table .std-cell{min-width:48px!important;padding-left:2px!important;padding-right:2px!important}

/* ASK / BID / AVG / CHG use the reclaimed room and trading-style right alignment. */
.market-depth-table th:nth-child(12){width:72px!important;min-width:72px!important}
.market-depth-table th:nth-child(14){width:72px!important;min-width:72px!important}
.market-depth-table th:nth-child(15){width:76px!important;min-width:76px!important}
.market-depth-table th:nth-child(17){width:74px!important;min-width:74px!important}

.market-depth-table th:nth-child(12),
.market-depth-table th:nth-child(14),
.market-depth-table th:nth-child(15),
.market-depth-table th:nth-child(17),
.market-depth-table td:nth-child(12),
.market-depth-table td:nth-child(14),
.market-depth-table td:nth-child(15),
.market-depth-table td:nth-child(17){
  text-align:right!important;
  padding-right:10px!important;
  white-space:nowrap!important;
}
.market-depth-table .chg-cell{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
}


/* -------------------------------------------------------------------------
 * R57 persistent communication/topic pillars.
 * ------------------------------------------------------------------------- */

/* Closing the market comm panel leaves its 42px selection pillar alive. */
.market-workspace.feed-closed{
  grid-template-columns:41px minmax(0,1fr) 42px!important;
  gap:6px!important;
}
.market-workspace.feed-closed .market-feed-resizer{display:none!important}
.market-workspace.feed-closed .market-feed-side{
  display:block!important;
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  overflow:hidden!important;
}
.market-workspace.feed-closed .market-feed-side .comm-module{
  grid-template-columns:0 42px!important;
}
.market-workspace.feed-closed .market-feed-side .comm-content{display:none!important}
.market-workspace.feed-closed .market-feed-side .comm-tabs{
  grid-column:2!important;
  width:42px!important;
}
/* The rail itself is now the reopen affordance. */
.market-feed-reopen{display:none!important}

/* Generic X used by Feed, + and DM views. */
.comm-panel-close{
  border:0;
  background:transparent;
  color:#728196;
  font-size:20px;
  line-height:1;
  padding:0 2px;
  cursor:pointer;
}
.comm-panel-close:hover{color:#e3e9f1}
.comm-head,.dm-chat-head{display:flex!important;align-items:center!important;justify-content:space-between!important}

/* Global pillars for Productions/Bookings and every optional bottom tab. */
.persistent-topic-pillar,
.persistent-comm-side{
  position:fixed;
  top:100px;
  bottom:var(--base-tabs-h);
  z-index:64;
  box-sizing:border-box;
}
.persistent-topic-pillar{
  left:0;
  width:41px!important;
  min-width:41px!important;
  height:auto!important;
  border-radius:0 7px 7px 0!important;
}
.persistent-comm-side{
  right:0;
  width:var(--market-feed-width,360px);
  min-width:260px;
  background:#0b111a;
  border:1px solid #202b39;
  border-radius:7px 0 0 7px;
  overflow:hidden;
}
.persistent-comm-side .comm-module,
.persistent-comm-side .comm-content,
.persistent-comm-side .dm-chat{
  height:100%!important;
  min-height:0!important;
}
.persistent-comm-side.comm-collapsed{
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
}
.persistent-comm-side.comm-collapsed .comm-module{
  grid-template-columns:0 42px!important;
}
.persistent-comm-side.comm-collapsed .comm-content{display:none!important}
.persistent-comm-side.comm-collapsed .comm-tabs{
  grid-column:2!important;
  width:42px!important;
}

/* Keep non-market workspace content clear of the always-visible pillars.
   The right padding only reserves the collapsed rail; an open communications
   panel intentionally behaves as an accessible side drawer. */
.view.persistent-pillars-active{
  padding-left:51px!important;
  padding-right:51px!important;
}


/* -------------------------------------------------------------------------
 * R58 persistent-pillar geometry.
 *
 * Keep the persistent left/right pillars on the exact same outer inset as
 * the Live Market workspace instead of snapping them to the viewport edges
 * when changing bottom tabs.
 * ------------------------------------------------------------------------- */
@media(min-width:1001px){
  .persistent-topic-pillar{
    left:10px!important;
    bottom:calc(var(--base-tabs-h) + var(--market-tab-gap,5px))!important;
  }
  .persistent-comm-side{
    right:10px!important;
    bottom:calc(var(--base-tabs-h) + var(--market-tab-gap,5px))!important;
  }

  /* 10px outer inset + 41/42px pillar + the same breathing room used by
     the Live Market grid. */
  .view.persistent-pillars-active{
    padding-left:61px!important;
    padding-right:62px!important;
  }
}


/* -------------------------------------------------------------------------
 * R59 persistent pillars must be visually identical to their Live Market
 * counterparts.  Persistent classes now control position only.
 * ------------------------------------------------------------------------- */
.persistent-topic-pillar{
  background:#05090f!important;
  border:1px solid #202b39!important;
  border-radius:7px 0 0 7px!important;
  box-shadow:none!important;
  outline:none!important;
}

.persistent-comm-side{
  background:#0b111a!important;
  border:1px solid #202b39!important;
  border-radius:12px!important;
  box-shadow:none!important;
  outline:none!important;
  overflow:hidden!important;
}

/* The Live Market comm panel has no second frame around its internal module. */
.persistent-comm-side .comm-module{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:none!important;
}

/* Collapsing must preserve the exact same outer silhouette. */
.persistent-comm-side.comm-collapsed{
  border:1px solid #202b39!important;
  border-radius:12px!important;
  box-shadow:none!important;
  outline:none!important;
}


/* -------------------------------------------------------------------------
 * R60 DEST: production distribution / intended target.
 * ------------------------------------------------------------------------- */
.market-depth-table{min-width:1544px!important}
.market-depth-table th:nth-child(7){
  width:64px!important;
  min-width:64px!important;
}
.market-depth-table .dest-cell{
  width:64px!important;
  min-width:64px!important;
  padding-left:4px!important;
  padding-right:4px!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  color:#98a8bd;
}
@media(max-width:1000px){
  .market-depth-table{min-width:1544px!important}
}


/* -------------------------------------------------------------------------
 * R62 live feed tape: 10-item rolling bin, newest at the bottom.
 * ------------------------------------------------------------------------- */
.feed-live-bin{
  max-height:calc(100vh - 176px);
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:2px 3px 2px 0;
  scroll-behavior:smooth;
}
.feed-live-status{
  height:24px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  color:#536276;
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  font-size:8px;
  letter-spacing:.045em;
  padding-right:4px;
}
.market-feed-list{
  scroll-behavior:smooth;
  overscroll-behavior:contain;
}
@keyframes caFeedArrive{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
.feed-live-new{animation:caFeedArrive .24s ease-out both}

/* Engagement controls live together at the far right.
   Order: Star · Comments · Share. */
.post-actions{
  justify-content:flex-end!important;
  margin-left:auto;
}
.side-feed-actions{
  justify-content:flex-end!important;
  align-items:center!important;
  margin-left:auto!important;
  width:100%;
}
.side-feed-actions button{
  display:inline-flex;
  align-items:center;
  gap:3px;
}
.side-feed-actions .post-share,
.post-actions .post-share{
  margin-left:1px;
  font-size:13px;
}


/* -------------------------------------------------------------------------
 * R64 five-post live feed transition.
 * The JS owns the 600ms fade/lift/fade sequence; disable R62's one-shot card
 * entrance animation so it cannot fight the deterministic transition.
 * ------------------------------------------------------------------------- */
.feed-live-new{animation:none!important}
.feed-live-bin,.market-feed-list{overflow-anchor:none}
.side-feed-post,.feed-post{will-change:auto}


/* -------------------------------------------------------------------------
 * R65 international language control.
 * ------------------------------------------------------------------------- */
.role-switcher{display:flex;align-items:center}
.role-switcher select{height:30px;padding:0 7px;border:1px solid #263447;border-radius:8px;background:#0b1119;color:#cbd5e3;font-size:11px}
.language-control{position:relative;display:flex;align-items:center}
.language-button{height:30px;min-width:48px;padding:0 7px;border:1px solid #263447;border-radius:8px;background:#0b1119;color:#cbd5e3;display:inline-flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;font-family:"SFMono-Regular",Consolas,monospace;font-size:9px}
.language-button:hover{background:#111b28;border-color:#36506a}
.language-flag{font-size:13px;line-height:1}.language-country{font-weight:800;letter-spacing:.05em}
.language-menu{position:absolute;right:0;top:35px;z-index:130;min-width:190px;padding:5px;background:#0a1018;border:1px solid #2a394c;border-radius:9px;box-shadow:0 14px 38px rgba(0,0,0,.45)}
.language-menu button{width:100%;border:0;background:transparent;color:#aebbd0;padding:7px 8px;border-radius:6px;display:grid;grid-template-columns:19px 28px 1fr;align-items:center;text-align:left;gap:4px;cursor:pointer}
.language-menu button:hover,.language-menu button.active{background:#152233;color:#edf5ff}
.language-menu button em{font-style:normal;font-size:10px}.language-menu .origin-code{font-size:9px}
.auth-language{display:flex;justify-content:flex-end;margin:-6px -4px 3px}
.auth-language select{max-width:190px;background:#09111a;color:#bdc9d9;border:1px solid #28364a;border-radius:8px;padding:5px 7px;font-size:10px}


/* -------------------------------------------------------------------------
 * R66 feed locale selector + market dynamic column containment.
 * ------------------------------------------------------------------------- */
.feed-filter-row{display:flex;align-items:center;gap:7px;min-width:0}
.feed-country-select{
  height:31px;max-width:190px;background:#0a111a;border:1px solid #253145;
  border-radius:8px;color:#aebbd0;padding:0 7px;font-size:9px
}
.side-feed-controls{padding:6px 10px 4px}
.side-feed-controls .feed-filter-row{justify-content:center}
.side-feed-controls .feed-country-select{max-width:150px;min-width:0}
.production-card-meta{font-size:9px;color:#75849a;margin:7px 0 2px;line-height:1.35}

/* Column widths are calculated from the localized header and every rendered
   value. Overflow is still contained as a final invariant during live updates. */
.market-depth-table{font-variant-numeric:tabular-nums;width:100%!important;min-width:0!important;max-width:100%!important}
.market-depth-table[data-market-fit] th,
.market-depth-table[data-market-fit] td{
  min-width:0!important;
  padding-left:var(--market-fit-padding,4px)!important;
  padding-right:var(--market-fit-padding,4px)!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.market-depth-table th,
.market-depth-table td{
  box-sizing:border-box!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
.market-depth-table .chg-cell,
.market-depth-table .location-cell,
.market-depth-table .category-cell,
.market-depth-table .market-job{
  overflow:hidden!important;
  text-overflow:clip!important;
}

/* -------------------------------------------------------------------------
 * R80 rank movement sequencing.
 * A rank change is always shown first as a full deep-navy #00002F pulse.
 * If the same row also carries an activity pulse, that activity color follows
 * after the navy pulse instead of competing with/overriding it.
 * ------------------------------------------------------------------------- */
@keyframes marketMovePulseR80{
  0%{background-color:rgba(0,0,47,0)}
  46%{background-color:#00002F}
  100%{background-color:rgba(0,0,47,0)}
}
@keyframes marketMoveThenCounterPulse{
  0%{background-color:rgba(0,0,47,0)}
  23%{background-color:#00002F}
  50%{background-color:rgba(0,0,47,0)}
  73%{background-color:rgba(91,68,8,.86)}
  100%{background-color:rgba(91,68,8,0)}
}
@keyframes marketMoveThenRejectPulse{
  0%{background-color:rgba(0,0,47,0)}
  23%{background-color:#00002F}
  50%{background-color:rgba(0,0,47,0)}
  73%{background-color:rgba(78,15,25,.88)}
  100%{background-color:rgba(78,15,25,0)}
}
@keyframes marketMoveThenClosePulse{
  0%{background-color:rgba(0,0,47,0)}
  23%{background-color:#00002F}
  50%{background-color:rgba(0,0,47,0)}
  73%{background-color:rgba(8,91,52,.94)}
  100%{background-color:rgba(8,91,52,0)}
}
@keyframes marketMoveThenTouchPulse{
  0%{background-color:rgba(0,0,47,0)}
  23%{background-color:#00002F}
  50%{background-color:rgba(0,0,47,0)}
  73%{background-color:rgba(6,43,35,.98)}
  100%{background-color:rgba(6,43,35,0)}
}
.market-depth-table tbody tr.flash-move td,
.market-table tbody tr.flash-move td,
.compact-market tr.flash-move td{
  animation:marketMovePulseR80 1800ms ease-in-out!important;
}
.market-depth-table tbody tr.flash-move-counter td,
.market-table tbody tr.flash-move-counter td,
.compact-market tr.flash-move-counter td{
  animation:marketMoveThenCounterPulse 3600ms ease-in-out!important;
}
.market-depth-table tbody tr.flash-move-reject td,
.market-table tbody tr.flash-move-reject td,
.compact-market tr.flash-move-reject td{
  animation:marketMoveThenRejectPulse 3600ms ease-in-out!important;
}
.market-depth-table tbody tr.flash-move-close td,
.market-table tbody tr.flash-move-close td,
.compact-market tr.flash-move-close td{
  animation:marketMoveThenClosePulse 3600ms ease-in-out!important;
}
.market-depth-table tbody tr.flash-move-touch td,
.market-table tbody tr.flash-move-touch td,
.compact-market tr.flash-move-touch td{
  animation:marketMoveThenTouchPulse 3600ms ease-in-out!important;
}


/* R82: rank movement is always a real #00002F background pulse before any action color. */
@keyframes marketMovePulseR82{
  0%{background-color:#00002F;box-shadow:inset 0 0 0 999px #00002F}
  72%{background-color:#00002F;box-shadow:inset 0 0 0 999px #00002F}
  100%{background-color:transparent;box-shadow:inset 0 0 0 999px rgba(0,0,47,0)}
}
.market-depth-table tbody tr.flash-move td,
.market-table tbody tr.flash-move td,
.compact-market tr.flash-move td{
  animation:marketMovePulseR82 1800ms ease-out!important;
}

/* R199: wire-driven jQuery fades only the background div, never row text. */
.market-table,.compact-market{
 --market-color-post:rgba(104,53,147,.75);--market-color-open:rgba(65,105,180,.75);
 --market-color-bid:rgba(135,105,20,.75);--market-color-accept:rgba(8,91,52,.88);
 --market-color-close:rgba(8,91,52,.94);--market-color-counter:rgba(91,68,8,.86);
 --market-color-reject:rgba(78,15,25,.88);--market-color-touch:rgba(6,43,35,.98);
}
:is(#market-body,#compact-market-body) tr td{animation:none!important;transition:none!important;box-shadow:none!important}
:is(#market-body,#compact-market-body) tr{position:relative}
:is(#market-body,#compact-market-body) tr.market-highlighting{isolation:isolate}
#market-body tr.market-window-spacer{position:static;pointer-events:none}
.market-depth-table #market-body tr.market-window-spacer td{padding:0!important;border:0!important;line-height:0!important;font-size:0!important;background:transparent!important;min-height:0!important}
.market-table-wrap{overflow-anchor:none}
:is(#market-body,#compact-market-body) tr.market-highlighting td{background:transparent!important}
:is(#market-body,#compact-market-body) tr.market-highlighting.selected{background:#0096ff!important;--market-color-counter:rgba(91,68,8,.80);--market-color-reject:rgba(78,15,25,.82);--market-color-close:rgba(8,91,52,.88)}
.market-row-bg{display:none;position:absolute;inset:0;z-index:-1;pointer-events:none}
.market-table-wrap{
  /* Keep row layout invalidation inside the scroll panel, away from tickers. */
  contain:layout paint style!important;
}

/* =========================================================================
 * R99: stable #af interface-window scaffold + platform appearance layer.
 *
 * IMPORTANT: these rules are additive.  The existing r98 desktop dark theme
 * remains the baseline; light-mode rules are explicitly scoped so the tuned
 * Live Market geometry, ticker animation and interaction behavior are not
 * rewritten as collateral work.
 * ========================================================================= */
.appframe{min-width:0;min-height:0}
.appframe-window{width:100%;min-width:0;position:relative}
.appframe-pane{width:100%;min-width:0;position:relative}
.appframe-drawer-content{min-height:100%;min-width:0;position:relative}
.appframe-market{height:100%;min-height:0;display:flex;flex-direction:column}
.appframe-market>.market-workspace{flex:1 1 auto;min-height:0}
.appframe-production{min-width:0}
.af-element{scroll-margin-top:86px}

/* The Production Suite is a registry scaffold only.  A tile does not imply
 * that the corresponding user-story backend has been implemented. */
.production-suite-scaffold{padding:2px 0 8px}
.suite-scaffold-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:5px 0 18px}
.suite-scaffold-head h2{margin:0 0 5px;font-size:22px;letter-spacing:-.02em}
.suite-scaffold-head p{margin:0;max-width:820px;font-size:12px;line-height:1.55}
.af-scaffold-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:9px}
.af-scaffold-card{position:relative;min-height:92px;padding:12px 13px 11px;text-align:left;border:1px solid #253142;border-radius:11px;background:linear-gradient(180deg,#101721,#0b1119);color:var(--text);cursor:default;overflow:hidden}
.af-scaffold-card:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:#34465c}
.af-scaffold-card>span{position:absolute;right:9px;top:8px;font:600 8px/1 "SFMono-Regular",Consolas,monospace;color:#56667a}
.af-scaffold-card small{display:block;margin:0 0 8px;color:#77879a;font-size:8.5px;letter-spacing:.12em;font-weight:800}
.af-scaffold-card b{display:block;font-size:12px;font-weight:650;color:#dce4ee}
.af-scaffold-card em{display:block;margin-top:8px;font-style:normal;font:600 8px/1 "SFMono-Regular",Consolas,monospace;color:#637187}
.af-scaffold-card.available:before{background:#2d8a62}.af-scaffold-card.available em{color:#65d79b}
.af-scaffold-card.partial:before{background:#876f25}.af-scaffold-card.partial em{color:#e6ca65}

/* The r98 market owns a deliberately bounded desktop viewport.  Introducing
 * the af68 outer window must not create a second scroll region or change that
 * geometry. */
@media(min-width:1001px){
  .view.market-page>.appframe-market{height:100%!important;min-height:0!important;overflow:hidden!important}
  .view.market-page>.appframe-market>.market-workspace{height:100%!important;min-height:0!important}
}

/* =========================================================================
 * R100 DESKTOP ACTIVITY SHELL
 *
 * appframe is the active center activity only.  Navbar, tickers and pillars
 * are persistent application chrome.  This deliberately does not define a
 * Cordova/mobile layout; mobile comes later as its own design pass.
 * ========================================================================= */
.navbar{width:100%}
.activity-shell{
  --pillar-left-width:41px;
  --pillar-right-width:360px;
  height:calc(100vh - var(--app-header-height) - 20px - 20px - var(--base-tabs-h));
  min-height:0;
  display:grid;
  grid-template-columns:var(--pillar-left-width) minmax(0,1fr) 6px var(--pillar-right-width);
  gap:6px;
  align-items:stretch;
  padding:5px 10px 5px;
  overflow:hidden;
}
.appframe-host{
  min-width:0;
  min-height:0;
  width:100%;
  height:100%;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:auto;
}
.appframe-window{height:100%;min-height:0;min-width:0;overflow:auto}
.appframe-utility{overflow:hidden;padding:0;contain:strict}
.appframe-utility .utility-iframe{border:none;display:block;width:100%;height:100%;max-width:100%;max-height:100%}

/* The left and right pillars are chrome, never appframes. */
.pillar-left{
  position:relative!important;
  inset:auto!important;
  width:var(--pillar-left-width)!important;
  min-width:var(--pillar-left-width)!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  align-self:stretch!important;
}
.pillar-right{
  position:relative!important;
  top:auto!important;right:auto!important;bottom:auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  align-self:stretch!important;
  border-radius:0!important;
}
.pillar-right .comm-module,.pillar-right .comm-content,.pillar-right .dm-chat{height:100%!important;min-height:0!important}
.pillar-right-resizer{
  width:6px;height:100%;min-height:0;cursor:col-resize;position:relative;border-radius:8px
}
.pillar-right-resizer:after{content:"";position:absolute;top:45%;bottom:45%;left:2px;width:2px;border-radius:2px;background:#273448;transition:.15s}
.pillar-right-resizer:hover:after,.resizing-feed .pillar-right-resizer:after{top:35%;bottom:35%;background:#5fbef5}

.activity-shell.pillar-right-collapsed{grid-template-columns:var(--pillar-left-width) minmax(0,1fr) 0 42px}
.activity-shell.pillar-right-collapsed .pillar-right-resizer{display:none}
.activity-shell.pillar-right-collapsed .pillar-right{width:42px!important;min-width:42px!important;max-width:42px!important;overflow:hidden!important}
.activity-shell.pillar-right-collapsed .pillar-right .comm-module{grid-template-columns:0 42px!important}
.activity-shell.pillar-right-collapsed .pillar-right .comm-content{display:none!important}
.activity-shell.pillar-right-collapsed .pillar-right .comm-tabs{grid-column:2!important;width:42px!important}

/* Profile and settings are utility surfaces rather than tabbed activities. */
.activity-shell.pillars-hidden{grid-template-columns:minmax(0,1fr)}
.activity-shell.pillars-hidden .pillar-left,
.activity-shell.pillars-hidden .pillar-right,
.activity-shell.pillars-hidden .pillar-right-resizer{display:none!important}

/* af68 IS market-primary: no second market shell is inserted around it. */
.view.market-page{height:100%!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important}
#af68.appframe-market.market-primary{height:100%!important;min-height:0!important;display:flex;flex-direction:column;overflow:hidden!important}
#af68 .market-main-view{height:100%;min-height:0;display:flex;flex-direction:column}
#af68 #production-market-pane,#af68 #people-market-pane{flex:1 1 auto;min-height:0;overflow:hidden}
#af68 .market-shell{flex:1 1 auto;height:100%!important;min-height:0!important;overflow:hidden}
#af68 .market-table-wrap{flex:1 1 auto;height:auto!important;min-height:0!important;max-height:none!important;overflow:auto!important}
#af68 .market-forum-view{height:100%;min-height:0;overflow:auto}

/* Non-market tabbed appframes retain normal center scrolling. */
.appframe-work,.appframe-calendar,.appframe-production,.appframe-workspace,.appframe-feed{padding:7px 10px 12px}

/* Desktop-only revision.  Existing <=1000px CSS is intentionally not
 * reinterpreted as the future Cordova design. */

/* Full Feed is a registered utility surface, not a bottom-tab appframe. */
.full-feed-surface{height:100%;min-height:0;overflow:auto;padding:7px 10px 12px}

/* R49 Talent profile / P-CODE / portfolio */
.profile-detail-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #1d2835;border-bottom:1px solid #1d2835}.profile-detail{padding:14px 16px;min-height:96px}.profile-detail+ .profile-detail{border-left:1px solid #1d2835}.profile-detail p{margin:8px 0 0;color:#a9b5c3;font-size:12px;line-height:1.55}.pcode-display{display:block;margin-top:8px;font:700 12px/1.5 monospace;color:#8bd6ff;word-break:break-word}.profile-detail small{display:block;margin-top:6px;color:#617187;font-size:9px}.profile-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-section-head small{color:#718097;font-size:9px}.profile-asset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.profile-asset{position:relative;min-height:128px;border:1px solid #28384c;border-radius:10px;overflow:hidden;background:#0b1521}.profile-asset img,.profile-asset video{width:100%;height:92px;display:block;object-fit:cover;background:#05090f}.profile-asset>div{padding:7px 9px;display:flex;flex-direction:column;gap:2px}.profile-asset b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-asset small{font-size:7px;color:#6f8197}.portfolio-remove{position:absolute;right:5px;top:5px;width:22px;height:22px;border-radius:50%;border:1px solid #45566d;background:rgba(6,10,16,.84);color:#dbe6f3;cursor:pointer}.portfolio-empty{grid-column:1/-1;padding:22px;border:1px dashed #2b394c;border-radius:10px;color:#6e7d91;text-align:center;font-size:11px}.checkline{display:flex;gap:8px;align-items:center;margin-top:12px;color:#a9b5c3;font-size:11px}.checkline input{width:auto}.field textarea{min-height:96px;resize:vertical}

/* R118: User menu (avatar dropdown) */
.top-actions{position:relative}
.user-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:148px;background:#0d1520;border:1px solid #2a3749;border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.4);z-index:120;padding:4px;display:flex;flex-direction:column}
.user-menu.hidden{display:none}
.user-menu-item{background:transparent;border:0;color:#cdd7e6;text-align:left;padding:9px 12px;border-radius:7px;font-size:12px;width:100%}
.user-menu-item:hover{background:#182438;color:white}
.user-menu-signout{color:#ff9aaa;margin-top:2px}
.user-menu-signout:hover{background:#38131a;color:#ffb0ba}

/* R117: Production apps home + utility iframe layout */
.appframe-prod-app{display:flex;flex-direction:column;height:100%;padding:0;overflow:hidden}
.appframe-prod-app .prod-app-nav{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line2);background:var(--panel);min-height:46px}
.appframe-prod-app .prod-app-title{font-size:13px;font-weight:650;color:#d5dde9}
.appframe-prod-app .prod-app-back{padding:6px 11px;font-size:11px}
.appframe-prod-app .prod-app-iframe{flex:1 1 0;min-height:0;width:100%;border:none;display:block;background:#050a10}
.appframe-utility{overflow:hidden;padding:0;contain:strict}
.appframe-utility .utility-iframe{border:none;display:block;width:100%;height:100%;max-width:100%;max-height:100%}
.ca-prod-apps-home{padding:24px 22px 40px;max-width:860px}
.ca-prod-app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-top:4px}
.ca-prod-app-tile{display:flex;align-items:center;gap:13px;text-align:left;background:#0e1520;border:1px solid #253245;border-radius:12px;padding:13px 14px;color:var(--text);transition:border-color .15s,background .15s}
.ca-prod-app-tile:hover:not(.unavailable){background:#132030;border-color:#3c5a7a}
.ca-prod-app-tile.unavailable{opacity:.55;filter:grayscale(1);cursor:not-allowed}
.ca-prod-app-status{display:block;margin-top:6px;font-size:11px;font-weight:650;color:var(--text)}
.post-media-image:before{display:none}
.post-media-image>img{width:100%;height:100%;object-fit:contain}
.ca-prod-app-icon{font-size:24px;line-height:1;flex:0 0 auto;color:#5b9fd0}
.ca-prod-app-copy{min-width:0}
.ca-prod-app-copy strong{display:block;font-size:13px;font-weight:650;margin-bottom:3px}
.ca-prod-app-copy small{display:block;color:var(--muted);font-size:10px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){.ca-prod-apps-home{padding:16px 14px 32px}.ca-prod-app-grid{grid-template-columns:1fr 1fr}.ca-prod-app-copy small{white-space:normal}}
@media(max-width:520px){.ca-prod-app-grid{grid-template-columns:1fr}}

/* Loading is confined to the market surface and removed after its first ready paint. */
.market-loading-host{position:relative}
.market-loading{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#05080d;color:#e8edf5}
.market-loading-label{font:400 14px/20px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.02em}
.market-loading-bar{width:min(240px,calc(100% - 48px));height:8px;border-radius:999px;background:#383e48;overflow:hidden}
.market-loading-bar[hidden]{display:none}
.market-loading-fill{width:0;height:100%;border-radius:inherit;background:#6495ed}
.market-loading-label{font-variant-numeric:tabular-nums}
/* Activity-first tabs occupy the left edge; a room may claim the right edge. */
#base-tabs{justify-content:flex-start!important;padding-left:0!important;padding-right:0!important;right:0!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none}
#base-tabs::-webkit-scrollbar{display:none}
body.has-workspace-context #base-tabs{right:var(--workspace-context-width,min(46vw,490px))!important}
#base-tabs{--workspace-tab-width:140px}
#base-tabs .base-workspace-tab,#base-tabs .base-tab-add{flex:0 0 var(--workspace-tab-width)!important;width:var(--workspace-tab-width)!important;min-width:var(--workspace-tab-width)!important;max-width:var(--workspace-tab-width)!important;padding:0 18px 3px!important}
@media(max-width:760px){#base-tabs{--workspace-tab-width:120px}}
@media(max-width:900px){.profile-detail-grid{grid-template-columns:1fr}.profile-detail+ .profile-detail{border-left:0;border-top:1px solid #1d2835}.profile-asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* R237: detached activity panes. The center remains the only appframe.
 * No blur/animated sizing over the high-frequency market surface. */
#activity-shell{
  --activity-rail:40px;--activity-pane:min(var(--pillar-right-width,360px),26vw);
  grid-template-columns:var(--activity-rail) 0 minmax(0,1fr) var(--activity-pane) var(--activity-rail);
  gap:8px;padding:7px 8px;position:relative;color-scheme:dark;
}

/* Media retains its 9:16 cover box; the frame clips its bottom ten percent. */
#activity-shell #global-comm-tabs > button[hidden]{display:none!important}
.feed-filter-row{flex-wrap:wrap;gap:6px}
.feed-filter-row select{min-width:0;max-width:160px}
.feed-post.feed-media-card.panel,.feed-post.feed-media-card.side-feed-post{
 position:relative;isolation:isolate;aspect-ratio:auto;min-height:0;height:auto;
 margin:0 auto 24px;padding:0;border:0!important;border-radius:14px;overflow:visible;
 box-shadow:none;
 background:transparent;width:100%;color:#fff;cursor:pointer;content-visibility:auto;
 contain-intrinsic-size:auto 765px;display:flex;flex-direction:column;
}
.feed-media-card .post-visual{--post-bottom-gap:24px;position:relative;isolation:isolate;aspect-ratio:9/14.4;width:100%;flex:none;overflow:hidden;border-radius:14px;outline:1px solid #30343b;outline-offset:-1px;box-shadow:0 4px 12px rgba(0,0,0,.28)}
.feed-media-card .post-overlay{position:absolute;left:12px;right:8px;bottom:var(--post-bottom-gap);max-height:calc(100% - var(--post-bottom-gap) - 12px);display:flex;flex-direction:column;text-shadow:0 1px 3px #000;pointer-events:none}
.feed-media-card .post-overlay > *{pointer-events:auto}
.feed-media-card .post-description{position:relative;isolation:isolate;display:flex;flex-direction:column;flex:0 1 auto;min-height:0;text-shadow:0 1px 2px rgba(0,0,0,.8),0 2px 6px rgba(0,0,0,.4)}
.feed-media-card .post-description::before{content:"";position:absolute;inset:0 -8px calc(-1 * var(--post-bottom-gap)) -12px;z-index:0;pointer-events:none;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.65))}
.feed-media-card .post-description > *{z-index:1}
.feed-media-card .post-media{position:absolute!important;inset:0 0 auto;z-index:-2;margin:0!important;width:100%;height:calc(100% / .9)!important;max-height:none!important;aspect-ratio:auto;border:0;background:none}
.feed-media-card .post-media::before,.feed-media-card .film-tag{display:none}
.feed-media-card .post-media img{display:block;width:100%;height:100%!important;max-height:none!important;object-fit:cover!important}
.feed-media-card .post-media-unavailable{background:#0c131d}
.feed-media-card .post-media-error{position:absolute;inset:20% 12px auto;text-align:center;font-size:13px;color:#98a6b9;pointer-events:none}
.feed-media-card .post-overlay .post-head{position:relative;display:flex;flex:none;gap:10px;margin:0;padding:0 4px 8px 0;align-items:center;background:none}
.feed-media-card .post-head .mini-avatar{width:34px;height:34px;min-width:34px;flex:0 0 34px;border-radius:50%;padding:0;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.55)}
.feed-media-card .post-author{display:block;color:#e3e9f1;font-size:13px}
.feed-media-card .post-meta{display:block;color:#d2dbea;font-size:11px;margin-top:3px}
.feed-media-card .post-body{position:relative;flex:0 1 auto;min-height:0;padding:0 4px 0 44px;margin:0;background:transparent;line-height:1.5;font-size:13px;color:#fff;white-space:pre-wrap;overflow-wrap:anywhere;max-height:7.5em;overflow:auto}
.feed-media-card .post-body:empty{display:none}
.feed-media-card .post-actions{position:static;align-self:flex-end;flex:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;align-items:center;gap:10px;background:none;border:0}
.feed-media-card .post-actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:44px;min-height:44px;color:#fff;background:transparent;border:0;padding:5px;font-size:12px;text-shadow:0 1px 2px #000,0 2px 4px #000}
.feed-media-card .post-actions button span{font-size:13px;font-weight:600;line-height:1.25;font-variant-numeric:tabular-nums;margin:0;text-align:center}
.feed-media-card .post-actions svg{display:block;flex:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.9))}
.feed-media-card .post-actions button:focus-visible{outline:2px solid #6495ed;outline-offset:1px;border-radius:8px}
.feed-media-card .post-actions button.active{color:#ffd66a}
.feed-media-card .post-star svg path{fill:none}
.feed-media-card .post-star.active svg path{fill:currentColor}
.feed-media-card:focus-visible{outline:2px solid #6495ed;outline-offset:-2px}
.market-feed-list .feed-post.feed-media-card{contain-intrinsic-size:auto 391px;width:74.8%}
#global-comm-content[data-mode="post"] .comment-list{flex:1;min-height:0;overflow:auto;padding:12px}
#global-comm-content .post-detail-caption{padding:0 12px 12px;font-size:13px;white-space:pre-wrap}
#global-comm-content .comment-compose{display:flex;gap:6px;padding:12px}
#global-comm-content .comment-compose input{min-width:0;flex:1}
#global-comm-content .comment-post-author{display:flex;align-items:center;gap:10px;padding:0 12px 12px}
#global-comm-content .comment-post-author b{display:block;font-size:13px}
#global-comm-content .comment-post-author time{display:block;color:#8795a8;font-size:11px;margin-top:3px}
#global-comm-content .comment{display:flex;align-items:flex-start;gap:9px;padding:0 0 15px;border:0}
#global-comm-content .comment .mini-avatar,#global-comm-content .comment-post-author .mini-avatar{width:34px;height:34px;min-width:34px;flex:0 0 34px;border-radius:50%;padding:0;overflow:hidden;cursor:pointer}
#global-comm-content .comment-content{flex:1;min-width:0}
#global-comm-content .comment-bubble{background:#000;border-radius:12px;padding:10px 12px;overflow-wrap:anywhere}
#global-comm-content .comment-byline{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 10px}
#global-comm-content .comment-byline b{font-size:12px;color:#e3e9f1}
#global-comm-content .comment-byline time{font-size:10px;color:#8795a8}
#global-comm-content .comment p{white-space:pre-wrap;color:#d1d9e5;font-size:13px;line-height:1.5}
#global-comm-content .comment-read-more,#global-comm-content .comment-actions button{border:0;background:transparent;color:#9cb9ef;padding:5px 0;cursor:pointer;font-size:11px}
#global-comm-content .comment-read-more{text-decoration:underline;text-underline-offset:3px}
#global-comm-content .comment-actions{display:flex;gap:14px;padding:2px 8px}
#global-comm-content .comment-actions .active{color:#ffd66a}
#global-comm-content .comment-actions button:disabled{opacity:.45;cursor:default}
#global-comm-content .comment-reply-label{font-size:10px;color:#9cb9ef}
#global-comm-content .comment-compose textarea{flex:1;min-width:0;resize:vertical;max-height:160px;background:#000;color:#e3e9f1;border:1px solid #29364a;border-radius:10px;padding:10px;font:inherit;font-size:13px}
#global-comm-content .comment-context{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;color:#9cb9ef;font-size:12px}
#global-comm-content .comment-context button{border:0;background:transparent;color:inherit;cursor:pointer}
#global-comm-content .comment-key-hint{padding:0 12px 10px;color:#8795a8;font-size:10px}
#feed-portfolio-choices{display:flex;gap:6px;overflow:auto;margin:8px 0}
.feed-photo-choice{padding:0;border:1px solid #35445b;border-radius:6px;flex:0 0 54px;overflow:hidden}
.feed-photo-choice img{width:54px;height:72px;object-fit:cover;display:block}
#feed-photo-preview{width:135px;aspect-ratio:9/16;object-fit:cover}
#activity-shell.pillar-left-open{grid-template-columns:var(--activity-rail) var(--activity-pane) minmax(0,1fr) var(--activity-pane) var(--activity-rail)}
#activity-shell.pillar-right-collapsed{grid-template-columns:var(--activity-rail) 0 minmax(0,1fr) 0 var(--activity-rail)}
#activity-shell.pillar-left-open.pillar-right-collapsed{grid-template-columns:var(--activity-rail) var(--activity-pane) minmax(0,1fr) 0 var(--activity-rail)}
#activity-shell > #view{grid-column:3;grid-row:1}
#activity-shell #pillar-left{grid-column:1;grid-row:1;width:40px!important;min-width:40px!important;border:0;background:transparent;display:flex;flex-direction:column;gap:8px;padding:0}
#activity-shell #pillar-right,#activity-shell #pillar-right > .comm-module{display:contents!important}
#activity-shell #global-comm-content{grid-column:4;grid-row:1;display:flex;flex-direction:column;min-width:0;overflow:hidden!important}
#activity-shell #global-comm-tabs,#activity-shell.pillar-right-collapsed #global-comm-tabs{
  grid-column:5!important;grid-row:1;width:40px!important;padding:0;border:0;background:transparent;gap:8px;align-items:stretch;
}
#activity-shell #pillar-left-pane{grid-column:2;grid-row:1;min-width:0;overflow:auto}
#activity-shell .detached-pane{border:1px solid #293646;border-radius:12px;background:linear-gradient(155deg,#111a25,#090f17 65%);box-shadow:0 4px 14px #0003}
#activity-shell #pillar-right-resizer{display:none}
#activity-shell #pillar-left > button,#activity-shell #global-comm-tabs > button{
  width:40px!important;height:40px!important;min-height:40px;flex:0 0 40px!important;display:grid;place-items:center;
  padding:0;border:1px solid #263344;border-radius:10px;color:#95a5ba;background:#0d151f;box-shadow:none;
}
#activity-shell #pillar-left > button:hover,#activity-shell #global-comm-tabs > button:hover{color:#edf3ff;background:#172435;border-color:#425875}
#activity-shell #pillar-left > button.active,#activity-shell #global-comm-tabs > button.active,#activity-shell #global-comm-tabs > button.context-active{color:#bcd4ff;border-color:#5479b8;background:#1a2b43}
#global-comm-tabs .comm-thread-tabs{display:none}
#activity-shell .comm-panel-close{border:0;background:transparent;color:#b0bfd1;cursor:pointer;font-size:22px;width:32px;height:32px;flex:0 0 32px;border-radius:7px}
#activity-shell .comm-head,#activity-shell .market-feed-head{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex:0 0 auto;padding:10px 12px;min-height:44px}
#activity-shell .comm-head b{font-size:11px;letter-spacing:.06em}
#activity-shell .knowledge-content{padding:12px;font-size:12px}
.knowledge-search{width:100%;min-width:0;background:#080f18;border:1px solid #33445d;border-radius:7px;color:#dce7f7;padding:9px 10px}
.knowledge-topic{padding:12px 0;border-bottom:1px solid #263344}
.knowledge-topic p{color:#8c9bb0;line-height:1.6}
#activity-shell .friend-list,#activity-shell .dm-thread-list{overflow:auto;min-height:0;padding:10px}
#activity-shell #global-comm-content .market-feed-list{flex:1 1 auto;min-height:0;overflow:auto!important}
#activity-shell.pillars-hidden{grid-template-columns:minmax(0,1fr)}
#activity-shell.pillars-hidden > #view{grid-column:1}
#activity-shell.pillars-hidden #global-comm-content,#activity-shell.pillars-hidden #global-comm-tabs,#activity-shell.pillars-hidden #pillar-left-pane{display:none!important}
#activity-shell.pillars-hidden #pillar-left{display:none!important}

/* Full feed has ONE scrolling surface, no internal pillar or forced scroll. */
.full-feed-surface{overflow:hidden;padding:0;height:100%;min-height:0}
.full-feed-surface .full-feed-frame{position:relative;max-width:none;width:100%;height:100%;min-height:0;margin:0;display:flex;flex-direction:column}
.full-feed-frame .feed-topline{position:absolute;right:14px;bottom:12px;z-index:5;display:flex;flex-direction:column;align-items:stretch;width:max-content;max-width:calc(100% - 28px);gap:8px;flex-wrap:nowrap;margin:0;padding:7px;background:rgba(8,14,22,.94);border:1px solid #263449;border-radius:13px;box-shadow:0 3px 14px #0005;opacity:1;visibility:visible;transition:opacity .16s ease,visibility .16s ease}
.full-feed-frame .feed-topline.ccp-hidden{opacity:0;visibility:hidden;pointer-events:none}
.full-feed-frame .feed-topline #feed-post-new{position:static;flex:0 0 auto;padding:5px 11px;min-height:0;height:30px;font-size:11px;border-radius:8px}
.full-feed-frame .feed-topline .feed-filter-row{flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:8px}
.full-feed-frame .feed-topline .scope-toggle{padding:2px;display:flex}
.full-feed-frame .feed-topline .scope-toggle button{flex:1;padding:5px 10px;font-size:10px}
.full-feed-frame .feed-topline .feed-locale,.full-feed-frame .feed-topline .feed-locale-toggle{width:100%}
.feed-audience{position:relative}
.feed-audience-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;height:30px;padding:4px 9px;border:1px solid #2b3c51;border-radius:8px;background:#0b131f;color:#d7e2f2;font-size:11px}
.feed-audience-menu{position:absolute;right:0;bottom:calc(100% + 10px);z-index:1;min-width:100%;width:max-content;padding:6px;border:1px solid #33455d;border-radius:10px;background:#0b131f;box-shadow:0 6px 22px #0008}
.feed-audience-menu label{display:flex;align-items:center;gap:8px;padding:7px 9px;color:#d7e2f2;font-size:12px;cursor:pointer}
.feed-audience-menu input{accent-color:#6495ed;margin:0}
.feed-locale{position:relative;min-width:0;flex:0 0 auto;width:max-content}
.feed-locale-toggle{display:grid;grid-template-columns:max-content auto;align-items:center;column-gap:8px;width:max-content;height:30px;padding:4px 9px;border:1px solid #2b3c51;border-radius:8px;background:#0b131f;color:#d7e2f2;font-size:11px;cursor:pointer}
.feed-locale-label,.feed-locale-sizing{grid-area:1/1;text-align:left;white-space:nowrap}
/* Overlapping invisible labels reserve exactly the widest supported label.
   Native intrinsic sizing follows fonts without measuring in JS or timers. */
.feed-locale-sizing{display:grid;visibility:hidden;pointer-events:none}
.feed-locale-sizing > span{grid-area:1/1}
.feed-locale-arrow{grid-area:1/2}
.feed-locale-menu{position:absolute;right:0;bottom:calc(100% + 10px);width:max-content;max-width:min(320px,70vw);max-height:min(320px,60vh);overflow:auto;padding:5px;border:1px solid #33455d;border-radius:10px;background:#0b131f;box-shadow:0 6px 22px #0008}
.feed-locale-menu button{display:block;width:100%;text-align:left;padding:8px 10px;background:transparent;border:0;border-radius:6px;color:#d7e2f2;font-size:12px;cursor:pointer}
.feed-locale-menu button:hover,.feed-locale-menu button:focus-visible,.feed-locale-menu button[aria-checked="true"]{background:#1a304b}
.full-feed-frame .feed-column{flex:1 1 auto;min-height:0;width:100%;display:block;overflow:auto;overflow-anchor:none;scroll-behavior:auto;scrollbar-gutter:stable;padding:8px 0 190px}
.full-feed-frame .feed-live-bin{width:74.8%;max-width:449px;min-height:0;max-height:none;overflow:visible;scroll-behavior:auto;margin:0 auto;padding:0}
@media(prefers-reduced-motion:reduce){.full-feed-frame .feed-topline{transition:none}}
.feed-live-bin .feed-post{content-visibility:auto;contain-intrinsic-size:auto 190px;border:1px solid #253345;border-radius:14px;background:#0d141e}
.feed-live-bin .post-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.65}
.feed-live-bin .post-head{padding-bottom:4px}
.feed-live-bin .post-meta{line-height:1.5;overflow-wrap:anywhere}
.feed-live-bin .post-media{height:auto;max-height:560px;background:#070b11}
.feed-live-bin .post-media img{display:block;height:auto;max-height:560px;width:100%;object-fit:contain}
.feed-older{display:block;margin:16px auto 24px;border:0;background:transparent;color:#9cb9ef;font-size:12px;cursor:pointer}
.feed-new-posts{display:block;flex:0 0 auto;align-self:center;margin:0 auto 8px!important;height:24px;padding:2px 0;border:0;background:transparent;color:#9cb9ef;font-size:12px;line-height:20px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.feed-new-posts.hidden{display:block!important;visibility:hidden;pointer-events:none}
.market-feed-list{scroll-behavior:auto}
.feed-column,.feed-live-bin,.market-feed-list,.detached-pane{scrollbar-width:thin;scrollbar-color:#35455b #0a1018}
.side-feed-post p{white-space:pre-wrap;overflow-wrap:anywhere}
#af68 .market-main-view{container-type:inline-size}
@container (max-width:1100px){
 #af68 .market-toolbar{flex-wrap:wrap!important;overflow:visible!important;flex:0 0 auto!important;height:auto!important}
 #af68 .market-toolbar > input,#af68 .market-toolbar > select{min-width:0!important;width:auto!important;max-width:none!important;flex:1 1 100px!important}
 #af68 .market-toolbar > .market-search{flex:2 1 160px!important}
 #af68 .market-selector-row{height:auto!important;flex:0 0 auto!important;flex-wrap:wrap!important}
 #af68 .market-selector-left,#af68 .submarket-pills{flex-wrap:wrap!important;overflow:visible!important}
 #af68 .market-state-filters{margin-left:auto}
 #af68 .market-foot{gap:8px;flex-wrap:wrap}
}
@media(max-width:700px){
 #activity-shell{--activity-pane:min(280px,calc(100vw - 112px))}
 #activity-shell .detached-pane{position:absolute;top:0;bottom:0;z-index:30;width:var(--activity-pane)}
 #activity-shell #pillar-left-pane{left:48px;grid-column:auto}
 #activity-shell #global-comm-content{right:48px;grid-column:auto}
 #activity-shell.pillar-left-open,#activity-shell.pillar-right-collapsed,#activity-shell.pillar-left-open.pillar-right-collapsed,#activity-shell{grid-template-columns:40px 0 minmax(0,1fr) 0 40px}
 .full-feed-surface{padding:4px}
}

/* Keep mounted room documents stable while another workspace is active. */
#activity-shell > #view[hidden]{display:none!important}
#activity-shell > .production-room-host{grid-column:3;grid-row:1;overflow:hidden}
#activity-shell.pillars-hidden > .production-room-host{grid-column:1}
#activity-shell > .production-room-host.production-room-parked{
 position:absolute;top:7px;left:8px;visibility:hidden;pointer-events:none;
 contain:layout paint;overflow:hidden;
}
#base-tabs .base-workspace-tab.production-workspace-tab{
 flex:0 0 auto!important;width:max-content!important;min-width:var(--workspace-tab-width,140px)!important;max-width:none!important;
 padding-right:46px!important;
}
.production-workspace-tab .folder-tab-label{flex:none;max-width:none;overflow:visible;text-overflow:clip}

/* Footer tab polish: keep content clear of the original SVG slope. */
#base-tabs .base-workspace-tab.production-workspace-tab{padding-left:32px!important}
