@import url("/company-presentation.css");
@import url("/signin-terminal.css");
@import url("/animation-palette.css");
@import url("/motion-upgrade.css");
/* Owner-managed, validated design tokens. The film studio keeps its own styles. */
body[data-brand-theme]{--paper:var(--brand-background);--ink:var(--brand-ink);--muted:var(--brand-muted);--accent:var(--brand-accent);--line:color-mix(in srgb,var(--brand-ink) 24%,var(--brand-surface));background:var(--paper);color:var(--ink)}
body[data-brand-theme] :is(.admin-shell,.portal,.chat-shell){--paper:var(--brand-background);--ink:var(--brand-ink);--muted:var(--brand-muted);--accent:var(--brand-accent);--line:color-mix(in srgb,var(--brand-ink) 24%,var(--brand-surface))}
body[data-brand-theme] :is(h1,h2,h3,.panel-heading h2){font-family:var(--brand-heading)}
body[data-brand-theme] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),textarea,select){background:var(--brand-surface);color:var(--brand-ink);border:1px solid var(--line);border-radius:var(--brand-radius);min-height:44px}
body[data-brand-theme] :is(input,textarea)::placeholder{color:var(--brand-muted);opacity:1}
body[data-brand-theme] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--brand-ink);outline-offset:3px;box-shadow:0 0 0 2px var(--brand-background)}
body[data-brand-theme] :is(.button,.icon-button,.preset-grid button){border-radius:var(--brand-radius)}
body[data-brand-theme] .button{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--brand-on-accent);min-height:44px}
body[data-brand-theme] .button:hover:not(:disabled){background:var(--brand-accent);color:var(--brand-on-accent);filter:brightness(.92)}
body[data-brand-theme] .button.secondary{background:transparent;border-color:var(--line);color:var(--brand-ink)}
body[data-brand-theme] :is(.avatar,.admin-identity .avatar,.chat-launch){background:var(--brand-accent);color:var(--brand-on-accent)}
body[data-brand-theme] :is(.admin-shell,.page-body,.auth-layout){background:var(--brand-background);color:var(--brand-ink)}
body[data-brand-theme] :is(.admin-panel,.form-panel,.portal-nav,.account-summary,.inquiry-cards article,.metric-grid article,.dialog,.campaign-card,.integration-card,.success-panel,fieldset){background:var(--brand-surface);color:var(--brand-ink);border-color:var(--line);border-radius:calc(var(--brand-radius) + 4px)}
body[data-brand-theme] :is(.empty,.media-card,.trade-document,.trade-steps button,.draft-preview-bar,.draft-preview-bar button,.admin-menu-toggle){background:var(--brand-surface);color:var(--brand-ink);border-color:var(--line);border-radius:var(--brand-radius)}
body[data-brand-theme] :is(.detail-summary,.cms-status,.cms-selector,.cms-array-item,.cms-array-item>summary,.array-controls,.task-card,.outbox-body,.audit-json,.pipeline-summary button,.trade-action,.trade-row,.trade-save,.chat-conversation,.catalog-help,.product-placeholder,.media-preview){background:var(--brand-surface);color:var(--brand-ink);border-color:var(--line);border-radius:var(--brand-radius)}
body[data-brand-theme] :is(.cms-records>button:hover,.cms-array-item>summary:hover,.record-list>a:hover,.record-list>button:hover,.trade-action:hover,.admin-table tbody tr:hover){background:var(--brand-background);color:var(--brand-ink)}
body[data-brand-theme] :is(.cms-records>button.active,.product-index-row button.active,.tree-line button.active,.product-steps button[aria-current],.trade-steps button[aria-current],.portal-nav nav>a[aria-current=page],.faq-categories button[aria-pressed=true]){background:var(--brand-accent);color:var(--brand-on-accent);border-color:var(--brand-accent);border-radius:var(--brand-radius)}
body[data-brand-theme] :is(.admin-sidebar,.quick-grid>a,.record-list>a,.cms-records,.table-scroll,.tool-card,.supplier-card,.business-card){background:var(--brand-surface);color:var(--brand-ink);border-color:var(--line);border-radius:var(--brand-radius)}
body[data-brand-theme] :is(.admin-heading .eyebrow,.admin-identity small,.admin-shell .fine,.metric-grid small,.metric-grid span){color:var(--brand-muted)}
body[data-brand-theme] :is(.admin-shell .badge,.portal .badge,.preview-bar,.catalogue-menu>div,.compare-bar,.toast){background:var(--brand-surface);color:var(--brand-ink);border-color:var(--line);border-radius:var(--brand-radius)}
body[data-brand-theme] :is(.admin-table th,.spec-table th,.spec-table td,.quick-grid a:hover){background:var(--brand-background);color:var(--brand-ink);border-color:var(--line)}
body[data-brand-theme] .admin-sidebar{border-radius:0;padding:26px 18px}
body[data-brand-theme] .site-header{background:var(--brand-header);color:var(--brand-headerText)}
body[data-brand-theme] .header-cta{background:var(--brand-headerText);color:var(--brand-header);border-color:var(--brand-headerText)}
body[data-brand-theme] .auth-layout{max-width:1240px;margin:48px auto 64px;min-height:640px;gap:36px;padding:0 32px}
body[data-brand-theme] .auth-story{background:linear-gradient(145deg,var(--brand-header),color-mix(in srgb,var(--brand-header) 80%,var(--brand-accent)));color:var(--brand-headerText);border-radius:calc(var(--brand-radius) + 8px);padding:62px 45px;min-height:560px;overflow:hidden}
body[data-brand-theme] .auth-story p,body[data-brand-theme] .auth-story small{color:var(--brand-headerText)}
body[data-brand-theme] .auth-panel{background:var(--brand-surface);border:1px solid var(--line);border-radius:calc(var(--brand-radius) + 8px);padding:46px 38px;align-self:center;box-shadow:0 18px 60px #1525170b}
body[data-brand-theme] .auth-panel :is(h2,.eyebrow){color:var(--brand-ink)}
.google-signin{margin-top:22px}.google-button{justify-content:center;gap:12px!important}.google-letter{font:700 23px/1 Arial,sans-serif}.auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--brand-muted);font-size:12px}.auth-divider:before,.auth-divider:after{content:'';height:1px;background:var(--line);flex:1}.google-account{margin-top:28px}
body[data-brand-theme] .site-footer{background:var(--brand-surface);color:var(--brand-ink)}
body[data-brand-theme] .site-footer :is(p,.check,input,.fine){color:var(--brand-muted)}
body[data-brand-theme] .site-footer :is(.newsletter,.footer-base){border-color:var(--line)}
body[data-brand-theme] .newsletter-input{gap:8px}.newsletter-input input{border-right-width:1px!important}
body[data-brand-theme] :is(.chat-shell,.thread-list,.thread-list-heading,.chat-composer,.message-files li,.message){background:var(--brand-surface);color:var(--brand-ink);border-color:var(--line);border-radius:var(--brand-radius)}
body[data-brand-theme] .messages{background:var(--brand-background)}
body[data-brand-theme] .conversation-head{background:var(--brand-header);color:var(--brand-headerText)}
body[data-brand-theme] .conversation-head p{color:var(--brand-headerText)}
body[data-brand-theme] :is(.message.mine,.thread-list>button.active){background:color-mix(in srgb,var(--brand-accent) 12%,var(--brand-surface));color:var(--brand-ink)}
body[data-brand-theme] :is(.message small,.message-files a span){color:var(--brand-muted)}
body[data-brand-theme] .admin-sidebar nav{gap:0}
.workspace-group{margin-top:18px}.workspace-group h2{font:600 10px/1.5 'Segoe UI',sans-serif!important;letter-spacing:.12em;text-transform:uppercase;margin:0 10px 7px;color:var(--brand-muted)}
.workspace-group>a{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:42px;padding:10px 12px;font-size:12px;line-height:1.5;border-radius:var(--brand-radius)}
.workspace-group>a:hover{background:var(--brand-background)}.workspace-group>a[aria-current=page]{background:var(--brand-accent);color:var(--brand-on-accent)}
.workspace-search{margin:20px 0 0!important}.workspace-search input{width:100%;min-width:0;padding:11px;font-size:12px}.workspace-search>span{font-size:11px}
.settings-columns{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:start}.settings-columns>section{min-width:0}.settings-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:18px 0}
.preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.theme-preset{background:var(--brand-background);border:1px solid var(--line);padding:18px;text-align:left;color:var(--brand-ink)}.theme-swatches{display:flex;gap:4px;margin-bottom:12px}.theme-swatches i{width:28px;height:28px;border-radius:50%;border:1px solid #8886}
.colour-field{display:flex;align-items:center;gap:8px;min-width:0}.colour-field input[type=color]{width:42px;height:42px;padding:3px;flex:none;border:0;background:none}.colour-field input:not([type=color]){width:100%;min-width:0}
.brand-sample{background:var(--brand-background);color:var(--brand-ink);border-radius:var(--brand-radius);overflow:hidden;border:1px solid color-mix(in srgb,var(--brand-ink) 25%,transparent);margin-bottom:20px}.brand-sample header{background:var(--brand-header);color:var(--brand-headerText);padding:20px;font-size:18px}.brand-sample header span{display:block;font-size:11px;margin-top:5px}.brand-sample article{padding:25px}.brand-sample p,.brand-sample small{color:var(--brand-muted)}.brand-sample h3{font-family:var(--brand-heading)}.brand-sample label{display:grid;gap:10px;font-size:12px}.brand-sample input{width:100%;padding:12px;background:var(--brand-surface);color:var(--brand-ink);border-radius:var(--brand-radius)}.brand-sample button{background:var(--brand-accent);color:var(--brand-on-accent);border:0;padding:14px 24px;border-radius:var(--brand-radius);margin:18px 0}.brand-sample small{display:block;font-size:11px}
.manual-chapters ol{padding-left:23px}.manual-chapters li{margin:12px 0;line-height:1.75}.manual-chapters section:target{outline:2px solid var(--brand-accent);outline-offset:3px}.assistant-proposal{border:1px solid var(--line);padding:24px;border-radius:var(--brand-radius);margin:22px 0}.assistant-proposal h3{font-size:24px}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:1100px){.settings-columns{grid-template-columns:1fr}.preset-grid{gap:10px}.auth-layout{gap:20px!important}}
@media(max-width:760px){body[data-brand-theme] .auth-layout{padding:0 18px;margin:24px auto 40px;gap:20px!important}.auth-story{min-height:0!important;padding:32px 25px!important}.auth-story h1{font-size:38px!important}.auth-panel{padding:28px 22px!important}.preset-grid{grid-template-columns:1fr}.theme-preset{display:flex;align-items:center;gap:20px}.theme-swatches{margin:0}.workspace-group{margin-top:12px}.settings-columns{gap:0}}

.ui-arrow{display:inline-flex;align-items:center;vertical-align:middle;flex:none}.admin-panel>h2{font-size:28px;line-height:1.25;margin-bottom:18px}.admin-sidebar .field{margin-bottom:8px}.admin-sidebar input.workspace-search{margin-top:0!important}
/* Personal dashboard controls inherit the owner's selected theme. */
[data-brand-theme] .personal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
[data-brand-theme] .personal-start .panel-heading{gap:18px}
[data-brand-theme] .personal-start h3{font-size:21px}
[data-brand-theme] .favourite-manager{list-style:none;padding:0;margin:18px 0 28px}
[data-brand-theme] .favourite-manager li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}
[data-brand-theme] .onboarding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
[data-brand-theme] .onboarding-grid article{padding:18px;border:1px solid var(--line);border-radius:var(--brand-radius);background:var(--brand-background)}
[data-brand-theme] .onboarding-grid p{font-size:14px;line-height:1.6;margin:12px 0}
[data-brand-theme] .onboarding-grid .check{align-items:flex-start}
[data-brand-theme] .saved-views{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:18px;margin-bottom:22px;border:1px solid var(--line);border-radius:var(--brand-radius);background:var(--brand-background)}
[data-brand-theme] .saved-views .field{margin:0;flex:1 1 190px;min-width:0}
[data-brand-theme] .saved-views .fine{flex-basis:100%;margin:0}
[data-brand-theme] .task-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
[data-brand-theme] .notification-list article{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
[data-brand-theme] .notification-list h3{font-size:22px;margin:12px 0 6px;overflow-wrap:anywhere}
[data-brand-theme] .notification-list p{margin:0}
[data-brand-theme] .notification-list .read{border-left:3px solid var(--brand-muted);padding-left:16px}
[data-brand-theme] .workspace-favourites{border-bottom:1px solid var(--line);padding-bottom:16px}
@media(max-width:760px){
 [data-brand-theme] .onboarding-grid,[data-brand-theme] .task-filters{grid-template-columns:1fr}
 [data-brand-theme] .favourite-manager li,[data-brand-theme] .notification-list article{align-items:flex-start;flex-direction:column;gap:12px}
 [data-brand-theme] .admin-heading{gap:18px;flex-wrap:wrap}
 [data-brand-theme] .saved-views .button{flex:1 1 auto}
}

/* Keep secondary text on validated theme colours, without contrast-reducing opacity. */
body .department-card .index,body .collection-caption .index,body .principles .index,body .faq-item .index,body .quick-grid>a>span,body .admin-table td small,
body .media-card>small,body .video-file small,body .integration-grid dd,
body .record-list small,body .activity-list li small{color:var(--brand-muted);opacity:1}
/* Grid children must shrink so the enquiry table scrolls inside its panel. */
.admin-main,.admin-panel,.admin-columns>*{min-width:0}
.admin-main .table-scroll{position:relative;max-width:100%;overflow-x:auto}

body[data-brand-theme] .grain-section{background:var(--brand-surface);color:var(--brand-ink)}
.table-scroll-hint{display:none}
@media(max-width:800px){.table-scroll-hint{display:block;color:var(--brand-muted);font-size:14px}}
/* Briefing's fixed light boards need dark secondary text under dark owner presets. */
body[data-brand-theme] .briefing-home{--muted:#555550}
/* Keep workspace navigation in its own scroll area while the page content scrolls. */
@media(min-width:761px){
 .admin-shell{align-items:start}
 body[data-brand-theme] .admin-sidebar{position:sticky;top:0;height:100dvh;max-height:100dvh;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;align-self:start}
}
.trade-playground{width:100%;max-width:560px;margin:auto}
.trade-playground h1{font-size:clamp(34px,4vw,64px)}
.trade-toy{display:block;width:100%;border:1px solid var(--line);border-radius:28px;background:var(--brand-surface);color:var(--brand-ink);padding:12px;touch-action:manipulation;margin:24px 0 14px}
.trade-toy svg{width:100%;height:auto;max-height:320px}
.trade-cargo{transition:transform .35s ease}
.trade-stop{font-weight:600;color:var(--brand-ink)}
.trade-playground[data-motion=off] .trade-cargo{transition:none}
.service-journey{padding-block:60px 80px}
.service-route{width:100%;height:auto;color:var(--brand-ink)}
.service-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.service-stages article{border:1px solid var(--line);border-radius:24px;padding:28px 22px;background:var(--brand-surface);color:var(--brand-ink)}
.service-stages h3{font-size:26px;margin-top:20px}
.service-stages .index{opacity:1;color:var(--brand-muted)}
@media(max-width:900px){.service-stages{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.service-stages{grid-template-columns:1fr}.service-journey{padding-block:35px}.trade-toy svg{max-height:230px}}
@media(prefers-reduced-motion:reduce){.trade-cargo{transition:none}}
.contact-links{display:grid;gap:12px;margin-block:18px}
.contact-links a{display:inline-flex;align-items:center;gap:10px;min-height:44px;overflow-wrap:anywhere}
.contact-icon{flex:none}.contact-links span{min-width:0;overflow-wrap:anywhere}
.footer-brand{display:flex!important;align-items:center;gap:14px}.footer-brand img{object-fit:contain}
.footer-location{display:block}.footer-location img{width:100%;height:auto;border-radius:16px;margin-bottom:14px}.footer-location span{display:flex;align-items:center;gap:12px}
.contact-experience .contact-primary{display:flex;justify-content:space-between;align-items:center;gap:18px;width:100%;min-height:64px;padding:20px 24px;border-radius:18px;background:#e7ebe6;color:#142b31;border:1px solid #e7ebe6;font:inherit;font-size:clamp(20px,2.2vw,30px);text-align:left}
.contact-experience .contact-links{font-size:clamp(16px,1.4vw,20px)}
.contact-preparation .faq-highlight{display:inline-flex;margin-top:24px;min-height:52px;padding:16px 24px}

/* Sign-in connection scene. Form and owner theme tokens remain independent. */
body[data-brand-theme] .auth-connection{max-width:1360px;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:center;gap:56px;margin-block:36px 56px}
body[data-brand-theme] .auth-connection .auth-story{grid-column:1;grid-row:1;background:radial-gradient(ellipse at 25% 38%,#f7efff,transparent 60%),linear-gradient(145deg,#e8dff3,#d7c9e9);color:#362741;padding:30px 36px 26px;min-height:0;border-radius:32px}
body[data-brand-theme] .auth-connection .auth-story p,body[data-brand-theme] .auth-connection .auth-story h2{color:#362741}
body[data-brand-theme] .auth-connection .auth-panel{grid-column:2;grid-row:1;padding:36px;box-shadow:0 16px 50px #2f203009}

.auth-connection .auth-panel h1{font-size:40px;line-height:1.12;margin-bottom:24px}
@media(max-width:760px){.auth-connection .auth-panel h1{font-size:35px}}

/* Supplied vector identity: preserve proportions, folds and brand colours. */
.brand img.company-brand-lockup{display:block;width:210px;height:auto;border:0;object-fit:contain}
.footer-brand img.company-brand-lockup{display:block;width:250px;max-width:100%;height:auto;border:0;object-fit:contain}
@media(max-width:1200px){.brand img.company-brand-lockup{width:184px}}
@media(max-width:760px){.brand img.company-brand-lockup{width:174px}}
@media(max-width:360px){.brand img.company-brand-lockup{width:154px}}

/* Unified theme-aware scrollbars; inner scroll regions stay within dialog padding. */
html,*{scrollbar-width:thin;scrollbar-color:var(--brand-accent,#80798c) transparent}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent;margin-block:12px}::-webkit-scrollbar-thumb{background:var(--brand-accent,#80798c);border:2px solid transparent;background-clip:padding-box;border-radius:999px}::-webkit-scrollbar-corner{background:transparent}
.dialog{overflow:hidden;max-height:calc(100dvh - 24px);display:none;flex-direction:column;min-width:0;box-sizing:border-box}
.dialog[open]{display:flex}.dialog-head{flex-shrink:0}.dialog-body{overflow:auto;overscroll-behavior:contain;min-height:0;min-width:0;border-radius:inherit;scrollbar-gutter:stable}
.dialog *{overscroll-behavior:contain}.dialog :is(.chat-layout,.chat-main,.messages,.message-list){min-width:0;min-height:0;max-width:100%}
.dialog :is(input,textarea,select){min-width:0;max-width:100%}.dialog :is(p,a,.message){overflow-wrap:anywhere}
.product-copy #product-specifications{padding:28px 0;width:100%;display:block}.product-copy #product-specifications h2{font-size:28px}
@media(max-width:650px){.dialog,.dialog.wide{width:calc(100vw - 20px);max-width:calc(100vw - 20px);margin:auto;padding:12px;max-height:calc(100dvh - 20px)}.dialog-body{padding:8px;max-width:100%}.dialog .chat-layout{display:flex;flex-direction:column}.dialog .thread-list{max-height:140px;overflow:auto}.dialog .chat-main{width:100%}.dialog .message-compose{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.about-media-notice .spinner{animation:none}}
html[data-motion=reduced] .about-media-notice .spinner{animation:none}

.footer-icon{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid currentColor;border-radius:50%;font-size:15px;margin-right:8px}.footer-social,.footer-phones{display:flex;flex-direction:column;gap:14px}.legal-body{max-width:900px;line-height:1.8}.legal-body p{margin-block:20px}.dialog .chat-shell,.dialog .chat-conversation{min-width:0;max-width:100%}.dialog .messages{overscroll-behavior:contain;overflow:auto}.dialog .chat-shell{max-height:100%;height:auto}
@media(max-width:650px){.dialog .chat-shell{display:flex;flex-direction:column}.dialog .chat-conversation{min-width:0}.dialog .messages{height:30dvh;min-height:100px;max-height:36dvh}.dialog .thread-list{width:100%;max-height:120px}}

:is(.thread-list,.messages,.cms-selector,.table-scroll,.spec-table-wrap){border-radius:var(--brand-radius,12px);clip-path:inset(0 round var(--brand-radius,12px))}
