/* Concept v1.2: explicit light surfaces and sapphire accents. */
.shell .welcome-copy{width:100%;max-width:650px;min-width:0}
.shell .welcome-copy h2{font-size:clamp(28px,3.2vw,46px);line-height:1.22;letter-spacing:-.018em;white-space:normal;overflow-wrap:anywhere;margin:18px 0}
.shell .overview-welcome{height:auto;min-height:286px;padding:36px 38px 54px}
.file-bundle{border:1px solid #dce5f0;border-radius:20px;background:#fff;overflow:hidden;color:#183664}.file-bundle>summary{display:flex;align-items:center;gap:16px;padding:24px;cursor:pointer;list-style:none}.file-bundle>summary:after{content:'⌄';margin-left:auto}.file-bundle[open]>summary:after{content:'⌃'}.file-bundle>summary strong{display:block;overflow-wrap:anywhere}.file-bundle>summary small{display:block;color:#475569;margin-top:7px}.bundle-icon{font-size:28px;background:#edf3fc;padding:12px;border-radius:12px}.bundle-files{display:grid;gap:12px;padding:0 16px 16px}.bundle-files .approvalcard{box-shadow:none!important}
@media(max-width:640px){.shell .overview-welcome{padding:26px 22px 52px}.shell .welcome-copy h2{font-size:30px;letter-spacing:-.01em}.shell .welcome-art{opacity:.12}.file-bundle>summary{padding:18px}}
/* Dialogs live outside .shell and need the same explicit light palette. */
body:has(.shell) #dialog{background:#fff;color:#0f172a;border:1px solid #dce5f0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 24px 80px #0f172a33;color-scheme:light}
body:has(.shell) #dialog :is(h2,h3,label,strong){color:#0f172a;-webkit-text-fill-color:currentColor}
body:has(.shell) #dialog :is(p,.helper,.approvalmeta,.checks),body:has(.shell) #dialog .workflow-form .decision-switch{color:#475569}
body:has(.shell) #dialog :is(input,textarea)::placeholder{color:#64748b;opacity:1}
body:has(.shell) #dialog :is(.secondary,.link){color:#234a81;background:#f8fafc;border-color:#d6e0ed}
body:has(.shell) #dialog .primary{color:#fff;background:linear-gradient(135deg,#17366c,#285697);border-color:#17366c}
body:has(.shell) #dialog .primary:disabled{color:#475569;background:#e2e8f0;border-color:#e2e8f0;opacity:1}
body:has(.shell) #dialog .settingsbox{background:#f8fafc;border-color:#dce5f0}
body:has(.shell) #dialog .error,body:has(.shell) #dialog .upload-file-row.failed small{color:#b42318}
body:has(.shell) #dialog .upload-dropzone strong,body:has(.shell) #dialog .upload-file-row strong{color:#183664}
body:has(.shell) #dialog input::file-selector-button{background:#e8eff9;color:#183664;border:1px solid #bdcce1;border-radius:6px;padding:6px 10px;margin-right:8px}
body:has(.shell) #dialog .decision-switch input:checked{background:#23385e!important}
#transfer-file-summary{display:grid;gap:8px;max-height:160px;overflow:auto;text-align:left;margin-top:16px}#transfer-file-summary .upload-file-row{font-size:12px;padding:10px}#transfer-file-summary progress{height:4px}
body:has(.shell){--ink:#0f172a;--muted:#475569;--gold:#1d4d93;--line:#e2e8f0}
body:has(.shell) .greeting h1{color:#0f172a!important;-webkit-text-fill-color:#0f172a!important;background:none}
.shell :is(.settingsbox,.customer-card,.calendar-panel,.sectionhead) :is(h2,h3){color:#0f172a;-webkit-text-fill-color:currentColor}
.shell :is(.helper,.eyebrow,.fileinfo small){color:#475569}
.shell .sidebar,#mobile-menu{background:#fff!important;color:#334155!important;border-right:1px solid #e2e8f0;box-shadow:none}
.shell .sidebar:before,.shell .sidebar:after{display:none}
.prototype-banner~#app .sidebar{height:calc(100dvh - 90px);max-height:calc(100dvh - 90px)}
:is(.sidebar,#mobile-menu) .portal-brand{color:#0f172a}
:is(.sidebar,#mobile-menu) .portal-brand span{color:#334155;border-color:#cbd5e1}
:is(.sidebar,#mobile-menu) .navitem{color:#475569!important;border:1px solid transparent;border-left:4px solid transparent;border-radius:10px;background:transparent;box-shadow:none;font-weight:500}
:is(.sidebar,#mobile-menu) .navitem:hover{background:#f1f5f9!important;color:#0f172a!important}
:is(.sidebar,#mobile-menu) .navitem.active{background:#eff6ff!important;color:#1d4d93!important;border-left-color:#2563eb;box-shadow:none!important;font-weight:650}
:is(.sidebar,#mobile-menu) .sidebottom{border-color:#e2e8f0;background:#fff;flex-shrink:0}
:is(.sidebar,#mobile-menu) .account-button{display:flex;align-items:center;gap:10px;padding:10px 12px;width:100%;min-width:0;border-radius:12px;background:#f8fafc;color:#0f172a!important;text-align:left}
:is(.sidebar,#mobile-menu) .account-button>.avatar{width:36px;height:36px;min-width:36px;flex:0 0 36px;aspect-ratio:1;border-radius:50%;overflow:hidden;background:#1d4d93;color:#fff;display:grid;place-items:center}
:is(.sidebar,#mobile-menu) .avatar img{width:100%;height:100%;object-fit:cover}
:is(.sidebar,#mobile-menu) .account-button>div:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(.sidebar,#mobile-menu) .account-button small{display:block;color:#475569!important;overflow:hidden;text-overflow:ellipsis}
.sidebar-promo{display:flex;flex-direction:column;gap:7px;width:100%;padding:16px;margin-bottom:14px;text-align:left;color:#fff;background:linear-gradient(130deg,#102550,#245399);border:0;border-radius:15px}
.sidebar-promo span{font-size:12px;color:#e4edff}
.file-title-preview{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left}.file-title-preview:hover{text-decoration:underline;text-underline-offset:4px}
.file-thumbnail{position:relative}.file-thumbnail.unavailable{cursor:default}.video-play{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#1d4d93;color:white}
.file-thumbnail.has-thumbnail .video-play{position:absolute;top:32%;left:calc(50% - 17px)}
.upload-dropzone{padding:22px;border:2px dashed #b9cce5;border-radius:18px;background:#f5f8fd;display:grid;gap:10px;text-align:center;color:#183664}.upload-dropzone>span{font-size:13px;color:#475569}.upload-dropzone.dragging{background:#e7effc;border-color:#1d4d93}.upload-dropzone input{padding:10px!important;background:#fff!important;color:#183664!important}.upload-file-list{display:grid;gap:10px;margin:14px 0}.upload-file-row{display:grid;gap:8px;padding:14px;border:1px solid #dce5f1;border-radius:12px;background:#fff;color:#0f172a;overflow-wrap:anywhere}.upload-file-row small{color:#475569}.upload-file-row.failed{border-color:#b42318}.upload-file-row.failed small{color:#b42318}.upload-file-row progress{width:100%;height:6px;accent-color:#1d4d93}
#download-bar{accent-color:#1d4d93}#download-bar::-webkit-progress-value,.upload-file-row progress::-webkit-progress-value{background:#1d4d93}#download-bar::-moz-progress-bar,.upload-file-row progress::-moz-progress-bar{background:#1d4d93}
@media(max-height:800px){.sidebar-promo{padding:10px;margin-bottom:8px}.sidebar-promo strong{font-size:13px}}
