@charset "UTF-8";
:root{--ink:#ffffff;--muted:#a8b9c2;--line:#263b46;--paper:#0a1419;--surface:#0f1d24;--accent:#00aeef;--accent-soft:#00aeef14;--radius:16px;--font-body:'Manrope',Arial,sans-serif;--font-display:'Bricolage Grotesque','Manrope',Arial,sans-serif;font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--ink);background:var(--paper);color-scheme:dark}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #00aeef;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:2rem;line-height:1.15;letter-spacing:-.055em}h2{font-size:1.5rem;line-height:1.2;letter-spacing:-.035em}h3{font-size:1rem}small,.meta{font-size:.875rem;color:var(--muted)}[hidden]{display:none!important}.skip-link{position:fixed;left:1rem;top:-5rem;padding:1rem;background:var(--surface);z-index:100}.skip-link:focus{top:1rem}
.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;background:var(--surface);border-bottom:1px solid var(--line);gap:1rem}.brand{display:flex;align-items:center;gap:20px;text-decoration:none}.wordmark{font-size:2rem;letter-spacing:-.075em;font-weight:800}.brand-dot{color:#00aeef}.brand img{max-height:40px;max-width:180px}.brand-divider{height:24px;width:1px;background:var(--line)}.brand-product{font-size:.875rem;letter-spacing:.04em}.session{display:flex;align-items:center;gap:20px;font-size:.875rem}.session form{margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 18px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-weight:600;font-size:.875rem;text-decoration:none;transition:background .15s,color .15s}.button:hover{background:#152c37}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--paper)}.button.primary:hover{background:#36bff3}.button.quiet{border-color:transparent;background:transparent}.button.danger{color:var(--ink)}.button.small{min-height:36px;padding:6px 10px}.button.full{width:100%}.button.icon{width:44px;padding:0;font-size:1.4rem}.eyebrow{font-size:.75rem;letter-spacing:.16em;font-weight:700}.form-stack{display:grid;gap:20px}label{display:grid;gap:7px;font-size:.875rem;font-weight:600}input,select,textarea{width:100%;min-height:46px;border:1px solid #38525f;border-radius:8px;padding:11px 12px;background:var(--surface);color:var(--ink);font-weight:400;font-size:1rem}textarea{resize:vertical;line-height:1.55;min-height:125px}.help{font-size:.875rem;color:var(--muted);line-height:1.6}.notice{padding:13px 16px;border:1px solid #00aeef55;background:#00aeef0c;border-radius:8px;font-size:.875rem}.notice.error{background:#0f1d24;border-color:#00aeef;color:var(--ink)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.muted{color:var(--muted)}
.login-layout{display:grid;grid-template-columns:1.15fr 1fr;min-height:calc(100vh - 88px);padding:28px;gap:28px}.login-intro{background:var(--paper);border-radius:20px;color:#fff;padding:64px 12%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;min-height:620px}.login-intro .eyebrow{color:#a8b9c2;margin-bottom:50px}.login-intro h1{font-size:clamp(3rem,5.4vw,5.5rem);font-weight:700;line-height:1.04;letter-spacing:-.055em}.login-intro h1 span{color:var(--accent);font-weight:500;font-style:italic}.login-intro p{color:#a8b9c2;margin-top:28px;line-height:1.7}.intro-footer{font-size:.875rem;margin-top:70px;color:#a8b9c2}.login-card{width:100%;max-width:430px;align-self:center;justify-self:center;padding:40px 20px}.login-card .eyebrow{color:var(--muted)}.login-card h2{margin-top:16px;font-size:1.9rem}.login-card>p{margin:12px 0 30px;color:var(--muted)}.login-card .notice{margin-bottom:20px}.login-card .help{margin-top:26px;font-size:.875rem}
.workspace{max-width:1600px;margin:auto;display:grid;grid-template-columns:238px minmax(0,1fr);min-height:calc(100vh - 88px)}.sidebar{padding:36px 22px;border-right:1px solid var(--line)}.sidebar-label{font-size:.75rem;letter-spacing:.14em;color:var(--muted);font-weight:700;margin:0 12px 20px}.client-list{display:grid;gap:6px}.client-item{display:flex;gap:10px;align-items:center;text-align:left;border:0;background:transparent;border-radius:9px;padding:12px;width:100%;font-size:.875rem;color:var(--muted)}.client-item:hover{background:#00aeef0c}.client-item.active{background:#00aeef14;color:var(--accent);font-weight:700}.avatar{flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#142c38;color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem}.client-name{overflow-wrap:anywhere}.side-footer{margin-top:30px;padding-top:24px;border-top:1px solid var(--line);display:grid;gap:6px}.main-panel{padding:40px clamp(22px,3.5vw,62px) 70px;min-width:0}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px}.page-heading .eyebrow{color:var(--muted);display:block;margin-bottom:12px}.page-heading p{margin-top:10px;color:var(--muted);font-size:.875rem}.project-row{display:flex;gap:12px;align-items:center;margin-bottom:26px;flex-wrap:wrap}.project-row label{min-width:220px;max-width:100%}.project-row select{min-width:200px}.project-row .button{align-self:flex-end}.summary{margin-left:auto;font-size:.875rem;color:var(--muted);padding-bottom:11px}.summary strong{color:var(--ink)}.toolbar{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);margin-bottom:26px;align-items:flex-end;flex-wrap:wrap}.filters{display:flex;gap:20px;flex-wrap:wrap}.filter{padding:13px 0;border:0;border-bottom:2px solid transparent;background:transparent;font-size:.875rem;color:var(--muted)}.filter.active{color:var(--ink);border-bottom-color:var(--accent);font-weight:700}.filter span{display:inline-block;margin-left:5px;font-size:.75rem}.view-toggle{display:flex;gap:4px;padding-bottom:8px}.view-toggle .active{background:#00aeef1a}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.post-card{display:block;width:100%;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;text-align:left;color:var(--ink);transition:transform .15s,box-shadow .15s}.post-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px #00000033}.card-media{position:relative;aspect-ratio:4/5;background:#0a1419;overflow:hidden;display:flex;align-items:center;justify-content:center}.card-media img,.card-media video{width:100%;height:100%;object-fit:cover;display:block}.media-empty{display:grid;text-align:center;gap:10px;color:#a8b9c2;padding:20px;font-size:.875rem}.media-empty .symbol{font-size:2rem;font-weight:300}.format-badge{position:absolute;top:12px;right:12px;background:#0a1419ed;border-radius:7px;padding:5px 9px;font-size:.75rem;color:var(--ink)}.card-bottom{padding:16px}.card-bottom h3{margin:11px 0 5px;line-height:1.35;overflow-wrap:anywhere}.card-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:.75rem;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;border-radius:5px;padding:4px 7px;background:#ffffff09;color:#a8b9c2}.badge:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.badge.internal_review{background:#00aeef10;color:#00aeef}.badge.client_review{background:#00aeef14;color:#00aeef}.badge.client_changes,.badge.internal_changes{background:#00aeef0a;color:#ffffff}.badge.approved{background:#00aeef;color:#0a1419}.empty{padding:65px 24px;text-align:center;display:grid;gap:16px;justify-items:center;border:1px dashed #263b46;border-radius:14px;background:#0f1d2477}.empty p{max-width:430px;color:var(--muted)}.loading{grid-column:1/-1;padding:70px;text-align:center;color:var(--muted)}.main-panel>.notice{margin-bottom:22px}.post-grid.feed-view{grid-template-columns:minmax(0,570px);justify-content:center}.feed-view .card-media img,.feed-view .card-media video{object-fit:contain}.feed-caption{padding:0 16px 18px;white-space:pre-wrap;font-size:.875rem;overflow-wrap:anywhere}
dialog{padding:0;border:1px solid var(--line);border-radius:18px;max-width:min(1160px,calc(100vw - 40px));width:1160px;max-height:calc(100dvh - 40px);background:var(--surface);color:var(--ink);box-shadow:0 30px 100px #00000066}dialog::backdrop{background:#0a1419e6;backdrop-filter:blur(4px)}.modal-header{position:sticky;top:0;z-index:3;display:flex;gap:16px;justify-content:space-between;align-items:center;padding:22px 28px;border-bottom:1px solid var(--line);background:var(--surface)}.modal-header h2{font-size:1.2rem;overflow-wrap:anywhere}.modal-header .meta{margin-top:4px}.modal-body{padding:28px}.modal-body.narrow{max-width:620px;margin:auto}.detail-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:30px}.preview{border:1px solid var(--line);border-radius:12px;overflow:hidden;align-self:start;background:var(--surface)}.preview-header{display:flex;align-items:center;gap:10px;padding:14px 16px;font-size:.875rem}.preview-header .avatar{width:32px;height:32px;flex-basis:32px}.preview-header strong{font-size:.875rem}.preview-media{position:relative;background:#0a1419;min-height:200px;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center}.preview-media.reel{aspect-ratio:9/16}.preview-media img,.preview-media video{width:100%;height:100%;object-fit:contain;display:block;max-height:76vh}.preview-media .media-empty{color:#a8b9c2}.carousel-controls{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;border-bottom:1px solid var(--line)}.carousel-controls span{font-size:.875rem;color:var(--muted)}.preview-caption{padding:18px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9375rem;line-height:1.65}.preview-caption:empty{display:none}.preview-footer{padding:0 18px 18px;font-size:.75rem;color:var(--muted)}.review-panel{display:grid;gap:22px;align-content:start;min-width:0}.review-panel h3{margin-bottom:9px}.review-status{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.decision-box{border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;gap:14px}.event-list{display:grid;gap:16px;max-height:440px;overflow:auto;padding-right:6px}.event{padding:13px 14px;background:var(--paper);border:1px solid var(--line);border-radius:9px}.event.system{background:transparent;border-style:dashed;font-size:.875rem}.event-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:7px;font-size:.875rem}.event .body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.875rem;line-height:1.6}.event .body a{color:#00aeef;text-decoration:underline}.event time{display:block;color:var(--muted);font-size:.75rem;margin-top:9px}.comment-form{display:grid;gap:12px}.comment-form textarea{min-height:95px}.revision-picker label{font-size:.875rem}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:30px}.editor-form{display:grid;gap:20px}.upload-box{border:1px dashed #38525f;background:#0a1419;border-radius:10px;padding:18px;display:grid;gap:12px}.upload-box input{padding:8px;font-size:.875rem;background:transparent}.media-list{display:grid;gap:8px}.media-row{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:9px}.media-row img,.media-row video{width:42px;height:52px;object-fit:cover;border-radius:4px;background:#0a1419}.media-row .filename{min-width:0;flex:1;overflow-wrap:anywhere;font-size:.875rem}.media-row .actions{gap:2px}.editor-preview-label{margin-bottom:12px;color:var(--muted);font-size:.75rem;letter-spacing:.12em}.sticky-actions{position:sticky;bottom:0;border-top:1px solid var(--line);padding:18px 28px;background:var(--surface);display:flex;gap:10px;justify-content:flex-end;z-index:3}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:min(600px,calc(100vw - 32px));padding:14px 20px;border-radius:10px;background:var(--surface);color:var(--ink);border:1px solid var(--accent);box-shadow:0 8px 40px #00000055;z-index:20;font-size:.875rem}.toast.error{background:#0f1d24}.account-list{display:grid;gap:12px;margin:20px 0 30px}.account-item{padding:14px;border:1px solid var(--line);border-radius:8px;display:flex;gap:15px;align-items:center;justify-content:space-between}.account-item .meta{overflow-wrap:anywhere}.separator{border:0;border-top:1px solid var(--line);margin:26px 0}.modal-form-title{margin-bottom:22px}.refresh-row{margin-top:22px;text-align:right}.noshrink{flex-shrink:0}
@media(min-width:1500px){.post-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1100px){.workspace{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding:30px 12px}.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-panel{padding:30px 24px}.detail-layout,.editor-layout{gap:20px;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr)}.login-intro{padding:50px 10%}}
@media(max-width:760px){.topbar{height:72px;padding:0 20px}.wordmark{font-size:1.75rem}.brand{gap:12px}.session{gap:6px}.session>span{display:none}.brand img{max-width:120px}.login-layout{display:block;min-height:calc(100vh - 72px);padding:20px}.login-intro{display:none}.login-card{padding:50px 10px;margin:auto}.workspace{display:block}.sidebar{padding:20px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-label{margin:0 0 12px}.client-list{display:flex;overflow:auto;gap:8px}.client-item{width:auto;flex-shrink:0;padding:8px}.side-footer{display:flex;flex-wrap:wrap;margin-top:14px;padding-top:12px}.main-panel{padding:26px 20px 50px}.page-heading{align-items:flex-start;gap:12px}.page-heading h1{font-size:1.75rem}.page-heading>.button{padding:9px 12px}.project-row{gap:10px}.project-row label{flex:1;min-width:150px}.project-row select{min-width:0}.summary{width:100%;margin:0;padding-bottom:0}.toolbar{gap:8px}.filters{gap:15px}.post-grid{gap:12px}.card-bottom{padding:11px}.card-meta{align-items:flex-start;flex-direction:column}.card-bottom h3{font-size:.875rem}.format-badge{top:8px;right:8px;font-size:.75rem}.detail-layout,.editor-layout{grid-template-columns:1fr}.editor-preview{order:2}dialog{width:100%;max-width:100%;max-height:100dvh;height:100dvh;border-radius:0;border:0;margin:0}.modal-header{padding:16px 20px}.modal-body{padding:20px}.sticky-actions{padding:14px 20px}.preview{max-width:530px;width:100%;margin:auto}.preview-media{max-height:65vh}.review-panel{padding-top:5px}.event-list{max-height:none}.field-row{grid-template-columns:1fr}.media-row{flex-wrap:wrap}.media-row .filename{min-width:100px}.account-item{align-items:flex-start;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Kabalion: official type hierarchy, surfaces and focus states. */
h1,h2,h3,.wordmark{font-family:var(--font-display);font-weight:700}
h1{font-size:2.5rem;letter-spacing:-.045em}h2{font-weight:600}
strong,b{font-weight:600}.button{font-weight:600;letter-spacing:0;line-height:1.4}
input::placeholder,textarea::placeholder{color:#a8b9c2;opacity:.8}
input,select,textarea{background:var(--paper);border-color:#38525f}
input:hover,select:hover,textarea:hover{border-color:#527181}
input:focus,select:focus,textarea:focus{border-color:var(--accent)}
.topbar{height:92px;background:var(--paper);padding-inline:clamp(20px,4vw,64px)}
.brand{gap:24px}.brand img{width:180px;height:auto;max-height:none;max-width:180px;object-fit:contain}
.brand-product{color:var(--ink);font-family:var(--font-display);font-weight:500;font-size:1.125rem;letter-spacing:-.02em}
.brand-divider{background:#ffffff24;height:28px}.session{color:var(--muted)}
.button.quiet:hover{background:#ffffff08;color:var(--ink)}
.button.primary:focus-visible{outline-color:var(--ink)}
.button.danger{border-style:dashed}.button.danger:hover{background:#ffffff0c}
.button.small{font-size:.875rem}.eyebrow{color:var(--accent)}
.login-layout{min-height:calc(100dvh - 92px);gap:clamp(24px,6vw,100px);max-width:1600px;margin:auto;padding:44px clamp(24px,5vw,80px);grid-template-columns:1.1fr 1fr}
.login-intro{padding:40px 0;background-image:linear-gradient(#00aeef06 1px,transparent 1px),linear-gradient(90deg,#00aeef06 1px,transparent 1px);background-size:64px 64px;min-height:590px;border-radius:0}
.login-intro .eyebrow{color:var(--accent);border:1px solid #00aeef40;background:#00aeef0c;padding:8px 13px;border-radius:30px;margin-bottom:40px}
.login-intro p{font-weight:300;font-size:1.0625rem;margin-top:30px}
.intro-footer{border-top:1px solid var(--line);padding-top:24px;width:88%;margin-top:54px}
.login-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:38px;max-width:450px;box-shadow:0 24px 64px #00000020}
.login-card .eyebrow{color:var(--accent)}.login-card h2{font-size:2rem;font-weight:600;letter-spacing:-.04em}
.login-card>.help{margin-bottom:0;border-top:1px solid var(--line);padding-top:22px}
.login-card .button.primary{justify-content:space-between;padding-inline:18px}
.workspace{min-height:calc(100dvh - 92px);grid-template-columns:250px minmax(0,1fr)}
.sidebar{background:var(--surface);padding-top:40px}.sidebar-label{color:var(--muted)}
.client-item{border:1px solid transparent;color:#b5c4cc}
.client-item.active{border-color:#00aeef40;color:var(--ink);background:#00aeef10}
.avatar{color:var(--accent);border:1px solid #00aeef30;background:#00aeef09}
.client-item.active .avatar{background:var(--accent);color:var(--paper);border-color:var(--accent)}
.main-panel{padding-top:42px}.page-heading .eyebrow{color:var(--accent);font-weight:600}
.filter.active{color:var(--ink);border-bottom-color:var(--accent)}
.view-toggle .active{color:var(--accent);border-color:#00aeef45;background:#00aeef10}
.post-card{border-color:var(--line);border-radius:14px;background:var(--surface)}
.post-card:hover{border-color:#00aeef70;transform:translateY(-2px);box-shadow:0 12px 32px #00000030}
.card-bottom{padding:18px}.card-bottom h3{font-family:var(--font-body);font-weight:600;font-size:1rem}
.format-badge{border:1px solid #ffffff30;color:var(--ink);backdrop-filter:blur(8px)}
.badge{border:1px solid transparent;line-height:1.5;font-weight:600}
.badge.draft{color:var(--muted);border-color:#ffffff20}
.badge.internal_review{color:#bdeeff;border-color:#00aeef30}
.badge.client_review{color:var(--accent);border-color:#00aeef60}
.badge.internal_changes,.badge.client_changes{color:var(--ink);border:1px dashed #00aeef80}
.badge.approved{color:var(--paper);background:var(--accent);border-color:var(--accent)}
.empty{background:var(--surface);padding:64px 28px}.empty h2{font-size:1.75rem}
.notice{color:var(--ink);border-color:#00aeef45;background:#00aeef0a}
.notice.error{border-color:var(--accent);border-left-width:4px;background:var(--paper);color:var(--ink)}
.modal-header{background:var(--surface)}.modal-header h2{font-weight:600;font-size:1.375rem}
.preview{background:var(--surface)}.preview-header strong{font-family:var(--font-body)}
.preview-caption{color:var(--ink)}.preview-footer{color:var(--muted)}
.preview-media img,.preview-media video,.card-media img,.card-media video{filter:none}
.decision-box{border-color:#00aeef40;background:#00aeef06}
.event{background:var(--paper)}.event.system{color:var(--muted);border-color:var(--line)}
.event-head strong{color:var(--ink)}.event .body a{color:var(--accent)}
.upload-box{background:var(--paper);border-color:#00aeef50}.upload-box input{color:var(--muted)}
input[type=file]::file-selector-button{font:inherit;border:1px solid #00aeef50;border-radius:6px;background:#00aeef12;color:var(--accent);padding:8px 10px;margin-right:12px;cursor:pointer}
.media-row{background:var(--surface)}.sticky-actions{background:var(--surface)}
.toast.error{border-width:2px;color:var(--ink)}
@media(max-width:1100px){.workspace{grid-template-columns:210px minmax(0,1fr)}.login-layout{gap:36px;padding:32px}.login-intro{padding:40px 0}.login-card{padding:28px}.login-intro h1{font-size:clamp(3rem,5vw,4rem)}}
@media(max-width:760px){.topbar{height:76px;padding-inline:20px}.brand{gap:16px}.brand img{width:145px;max-width:145px}.brand-product{font-size:1rem}.brand-divider{height:22px}.login-layout{min-height:calc(100dvh - 76px);display:flex;align-items:center;justify-content:center;padding:32px 20px}.login-card{padding:30px 24px;max-width:440px}.login-card h2{font-size:1.875rem}.workspace{display:block;min-height:calc(100dvh - 76px)}.sidebar{padding:20px}.main-panel{padding-top:28px}.page-heading h1{font-size:2rem}.card-bottom{padding:12px}.card-bottom h3{font-size:.9375rem}.modal-header h2{font-size:1.25rem}}
@media(max-width:390px){.brand{gap:12px}.brand img{width:126px;max-width:126px}.topbar{padding-inline:16px}.main-panel{padding-inline:16px}.post-grid{gap:10px}.format-badge{font-size:.75rem}.login-layout{padding-inline:16px}}

.avatar { overflow: hidden; flex-shrink: 0; }
.avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.client-photo-preview .avatar { width: 80px; height: 80px; font-size: 24px; }

/* Keep the expanded media stage full-width even when max-height constrains
   its aspect ratio. Otherwise Safari can derive a narrower, left-aligned box. */
.preview-media {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin-inline: auto;
  overflow: hidden;
}
.preview-media > video,
.preview-media > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: none;
  margin: 0;
  object-fit: contain;
  object-position: center center;
}

/* Profile mosaic: three columns at every viewport, 1080:1440 crop.
   Scope to Grade so the full Feed and post preview retain their layout. */
.post-grid:not(.feed-view) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2px;
}
.post-grid:not(.feed-view) .post-card {
  min-width: 0;
  border: 0;
  border-radius: 0;
  transform: none;
  box-shadow: none;
}
.post-grid:not(.feed-view) .post-card:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: -3px;
}
.post-grid:not(.feed-view) .card-media {
  aspect-ratio: 3 / 4;
  width: 100%;
  min-width: 0;
}
.post-grid:not(.feed-view) .card-media > img,
.post-grid:not(.feed-view) .card-media > video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center center;
}
.post-grid:not(.feed-view) .card-bottom,
.post-grid:not(.feed-view) .format-badge {
  display: none;
}
.post-grid:not(.feed-view) .media-empty {
  min-width: 0;
  padding: 8px;
  font-size: .75rem;
  overflow-wrap: anywhere;
}

.project-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }

/* Match the header contents to the dashboard's centered container. */
:root { --workspace-max-width: 1600px; }
.workspace { max-width: var(--workspace-max-width); }
.topbar { padding-inline: 0; }
.topbar-inner {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--workspace-max-width);
  height: 100%;
  margin-inline: auto;
  padding-inline: 22px clamp(22px, 3.5vw, 62px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
@media (min-width: 761px) {
  .post-grid:not(.feed-view) { width: 75%; margin-inline: 0 auto; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .topbar-inner { padding-inline: 22px 24px; }
}
@media (max-width: 760px) {
  .topbar-inner { padding-inline: 20px; }
}
@media (max-width: 390px) {
  .topbar-inner { padding-inline: 16px; }
}

/* Align project controls by their bottom edge, below the field label. */
.project-row { align-items: flex-end; }
.project-row > .project-actions { align-items: center; }
.project-row select,
.project-row > .project-actions > .button {
  box-sizing: border-box;
  height: 44px;
  min-height: 44px;
  padding-block: 10px;
  line-height: 1.4;
}
.project-row > .project-actions > .button { white-space: nowrap; }
.project-row > .summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: .25em;
  padding-bottom: 0;
}

/* Reels and carousel markers in the profile grid; the card remains the single click target. */
.grid-format-icon {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1;
  width: 28px;
  height: 28px;
  pointer-events: none;
  filter: drop-shadow(0 1px 3px #0008);
}
.grid-format-icon svg { display: block; width: 100%; height: 100%; }
@media (max-width: 760px) {
  .grid-format-icon { top: 6px; right: 6px; width: 22px; height: 22px; }
}

/* Manual grid order: the team arranges posts with arrows or drag and drop. */
.order-bar { align-items: center; padding-bottom: 12px; }
.order-bar .help { flex: 1 1 260px; }
.post-card.ordering { position: relative; cursor: grab; user-select: none; -webkit-user-select: none; }
.post-card.ordering.dragging { opacity: .35; }
.post-card.ordering .card-media img,
.post-card.ordering .card-media video { pointer-events: none; }
.order-number {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 1;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  border-radius: 14px;
  background: var(--accent);
  color: var(--paper);
  font-size: .8125rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.order-controls {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  padding: 8px;
  background: linear-gradient(transparent, #0a1419cc);
}
.order-controls .button { width: 40px; min-height: 36px; padding: 0; background: #0a1419e6; }
.order-controls .button:disabled { opacity: .3; cursor: default; }
.feed-view .post-card.ordering .card-bottom h3 { margin: 0; }
@media (max-width: 760px) {
  .order-number { top: 6px; left: 6px; min-width: 24px; height: 24px; font-size: .75rem; }
  .order-controls { padding: 6px; }
  .order-controls .button { width: 34px; min-height: 32px; }
}

/* Full product name in the header; it wraps only when space runs out and hides on narrow phones. */
.brand { min-width: 0; }
.brand img { flex-shrink: 0; }
.brand-product { line-height: 1.25; }
@media (max-width: 760px) {
  .brand-product { white-space: normal; font-size: .8125rem; line-height: 1.25; max-width: 11em; }
}
@media (max-width: 480px) {
  .brand-divider, .brand-product { display: none; }
}
