@import url('/fonts.css');
/* Presentation of existing product assignments. No changes to data or permissions. */
.ux-assignment-summary{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:24px;align-items:center;background:var(--paper);border-left:4px solid var(--green)}
.ux-assignment-summary strong{display:block;font-size:20px;line-height:1.4;overflow-wrap:anywhere}.ux-assignment-caption{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.ux-assignment-arrow{font-size:28px;color:var(--green)}
.ux-assignment-step>h2{display:flex;align-items:center;gap:12px}.ux-step-number{display:inline-grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:10px;background:var(--soft);color:var(--green);font-size:15px}
.ux-assignment-step>.table-wrap{margin-top:18px}.ux-assignment-remove{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.ux-assignment-remove p{font-size:12px;color:var(--muted);margin:0;max-width:540px}
.ux-assignment-fields{border:1px solid var(--line);border-radius:14px;padding:18px 20px 4px;margin:0 0 24px;min-width:0}.ux-assignment-fields legend{font-size:16px;font-weight:600;padding:0 8px}.ux-assignment-fields .ux-field-help{margin-bottom:20px;font-size:13px;color:var(--muted)}
.ux-assignment-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px;margin:20px 0}.ux-assignment-action{border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:18px}.ux-assignment-action p{font-size:12px;color:var(--muted);line-height:1.6;margin:12px 0 0}.ux-assignment-action .button{width:100%}
@media(max-width:650px){.ux-assignment-summary{grid-template-columns:1fr;gap:12px}.ux-assignment-arrow{display:none}.ux-assignment-summary strong{font-size:18px}.ux-assignment-remove{align-items:flex-start;flex-direction:column}.ux-assignment-fields{padding:14px 14px 2px}.ux-assignment-step>h2{font-size:19px}}
:root{font-family:Arial,Helvetica,sans-serif;color:#243631;background:#f4f5f0;font-synthesis:none;--ink:#182b28;--muted:#65756c;--line:#dce2d8;--orange:#b94f2e;--green:#315f48;--paper:#fff;--soft:#edf2e7}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ce724e;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,3vw,40px);font-weight:600;letter-spacing:-1.4px;line-height:1.15;margin-bottom:12px}h2{font-size:22px;letter-spacing:-.5px;font-weight:600}h3{font-size:17px;font-weight:600}p{line-height:1.6}small{color:var(--muted)}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.initial{display:grid;place-content:center;height:100vh;gap:20px;letter-spacing:3px}.initial span{font-size:14px;letter-spacing:0}.layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--ink);color:#dbe6dc;padding:32px 20px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:240px;z-index:10}.brand{font-size:23px;letter-spacing:1.8px;font-weight:800;text-decoration:none;display:block}.brand small{display:block;font-size:10px;letter-spacing:3.3px;color:#a9bdae;margin-top:9px;font-weight:400}.sidebar .navlabel{font-size:10px;letter-spacing:1.8px;color:#92a89a;margin:42px 14px 14px}.nav{display:grid;gap:5px}.nav a{display:flex;gap:13px;align-items:center;padding:13px 15px;border-radius:8px;color:#bed0c3;text-decoration:none;font-size:14px;min-height:48px}.nav a.active{background:#385046;color:#fff}.nav a.active svg{color:#c5ddaa}.nav a:hover{background:#294039}.sidebar-bottom{margin-top:auto;border-top:1px solid #385046;padding:24px 10px 0;font-size:12px;line-height:1.7;color:#a5baad}.statusdot{width:7px;height:7px;background:#b5ca90;border-radius:50%;display:inline-block;margin-right:7px}.main{grid-column:2;min-width:0}.topbar{height:88px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fafbf7;gap:16px}.breadcrumb{color:var(--muted);font-size:13px}.breadcrumb span{color:#a9b4ac;padding:0 12px}.identity{display:flex;align-items:center;gap:12px}.avatar{width:36px;height:36px;border-radius:50%;background:#dfe8d7;color:#37523d;display:grid;place-items:center;font-weight:700;font-size:13px}.identity-text{font-size:13px;line-height:1.5}.identity-text small{display:block;font-size:11px}.logout{background:transparent;border:1px solid var(--line);border-radius:6px;padding:9px;color:#5c7061}.content{padding:38px 48px 64px;max-width:1560px;margin:auto}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:2px;color:var(--orange);margin-bottom:14px}.heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:26px}.heading p{color:var(--muted);font-size:14px;margin:0;max-width:720px}.toolbar,.filters,.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 17px;min-height:44px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font-size:13px;font-weight:600;text-decoration:none}.button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.button.accent{background:var(--orange);border-color:var(--orange);color:#fff}.button.soft{background:var(--soft);border-color:var(--soft)}.button.danger{color:#a23025;border-color:#e8bcb0}.button:hover{filter:brightness(.96)}.button.small{min-height:36px;padding:8px 12px;font-size:12px}.button.text{border:0;background:transparent;padding:8px;color:var(--green)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:26px 0 34px}.stat{background:white;padding:24px;border:1px solid var(--line);border-radius:10px;min-height:122px}.stat-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:19px}.stat-label svg{width:18px;height:18px}.stat strong{font-size:31px;letter-spacing:-1px;font-weight:500}.stat small{margin-left:10px;font-size:11px}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:26px 0 17px}.section-title h2{margin:0}.section-title small{font-size:12px}.modules{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.module{padding:24px;background:#fff;border:1px solid var(--line);border-radius:10px;text-decoration:none;min-height:178px;display:flex;flex-direction:column;transition:transform .15s,border-color .15s}a.module:hover{transform:translateY(-2px);border-color:#7a9680}.module-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.module-icon{width:43px;height:43px;background:#edf2e6;border-radius:9px;color:#446149;display:grid;place-items:center}.module-arrow{color:#95a493;font-size:19px}.module h3{margin-bottom:8px}.module p{font-size:12px;color:var(--muted);margin:0;max-width:280px}.module.featured{background:#e9efdf;border-color:#d6dfc8}.info-strip{margin-top:28px;padding:18px 22px;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;gap:14px;font-size:12px;color:var(--muted);background:#f9faf6}.info-strip svg{color:#6c845b}.test-banner{background:#f9ead7;border-bottom:1px solid #e9d7bc;color:#805824;padding:8px 20px;text-align:center;font-size:11px;letter-spacing:.3px}.warning-banner{background:#fff0dd;border:1px solid #edc899;border-radius:8px;padding:16px 20px;line-height:1.6;font-size:13px;margin-bottom:22px;color:#80521c}.panel{background:white;border:1px solid var(--line);border-radius:10px;padding:24px;margin-bottom:20px}.panel h2{margin-bottom:18px}.panel.compact{padding:18px}.filters{margin-bottom:22px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:14px}.input,input:not([type=checkbox]):not([type=file]),select,textarea{border:1px solid #cbd5c8;border-radius:6px;background:#fff;padding:12px;color:var(--ink);min-height:44px;max-width:100%}textarea{min-height:100px;resize:vertical;line-height:1.5}select{padding-right:32px}.filters .search{flex:1;min-width:210px}.filters select{max-width:220px}.count{font-size:12px;color:var(--muted);margin:10px 0 20px}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;text-decoration:none}.product-visual{height:168px;background:#e9ece4;display:grid;place-items:center;position:relative;overflow:hidden}.product-visual img{width:100%;height:100%;object-fit:contain}.product-visual svg{width:82px;height:82px;stroke-width:1.15;color:#66806a}.product-visual .badge{position:absolute;top:13px;left:13px}.product-copy{padding:20px}.product-copy small{font-size:10px;letter-spacing:1px;color:#7c8b7b}.product-copy h3{margin:8px 0 12px}.product-footer{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:4px;font-size:10px;font-weight:600;background:#edf2e7;color:#4d6846;line-height:1.3}.badge.orange{background:#f7e8dc;color:#99502b}.badge.gray{background:#eff1ec;color:#77816f}.badge.red{background:#fae4df;color:#a2392c}.empty{background:#fff;border:1px dashed #c8d2c2;border-radius:10px;padding:48px 24px;text-align:center;color:var(--muted);line-height:1.7}.empty svg{width:38px;height:38px;margin-bottom:15px;color:#89a17b}.empty h3{color:var(--ink)}.empty p{font-size:13px;max-width:460px;margin:10px auto}.loading{padding:80px;text-align:center;color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px;background:#fff}table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#73836e;background:#f7f9f3;font-weight:600;text-align:left;padding:16px}td{padding:15px 16px;border-top:1px solid #e8ece3;vertical-align:middle}td.wrap{white-space:normal;min-width:210px;max-width:400px;line-height:1.5}td small{display:block;font-size:11px;margin-top:5px}tr:hover td{background:#fafbf7}.split{display:grid;grid-template-columns:2fr 1fr;gap:22px;align-items:start}.card-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.technology-group{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff;margin-bottom:16px}.technology-group>summary{padding:19px 22px;cursor:pointer;font-size:15px;font-weight:600;background:#f9faf6}.technology-item{padding:20px 22px;border-top:1px solid #e7ece0;position:relative}.technology-item.warning{background:#fff3dc;border-left:3px solid #be833a}.item-label{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.item-label strong{font-size:13px}.item-value{font-size:16px;line-height:1.55;margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere}.item-note{font-size:12px;color:#6b7e64;white-space:pre-wrap}.item-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:10px;color:#7c8975;margin-top:14px}.photo{max-width:100%;max-height:360px;border-radius:6px;display:block;cursor:zoom-in}.side-summary{padding:22px;background:#e8eedf;border:1px solid #d5dec9;border-radius:10px;position:sticky;top:20px}.side-summary p{font-size:12px;color:#5d7355}.side-summary .button{width:100%;margin-top:10px}.tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:12px}.tabs a,.tabs button{padding:10px 15px;border:0;background:transparent;color:#6c7b63;font-size:13px;text-decoration:none;border-radius:6px}.tabs .active{background:#e3ebd9;color:#2b4931;font-weight:600}.timer{font-variant-numeric:tabular-nums;font-size:38px;letter-spacing:-1.3px;margin:16px 0}.work-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.work-actions .button{min-height:66px;font-size:15px}.forms-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;font-size:12px;font-weight:600}.form-field input,.form-field select,.form-field textarea{width:100%;font-weight:400;font-size:14px}.form-field small{font-size:11px;font-weight:400;line-height:1.5}.check-label{display:flex;align-items:center;gap:10px;min-height:40px;font-size:13px}.check-label input{width:20px;height:20px}.form-error{background:#fff0e9;color:#963e23;border-radius:6px;padding:12px;font-size:13px;line-height:1.5;margin:12px 0}.form-error:empty{display:none}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;border-top:1px solid var(--line);padding-top:20px}dialog{border:1px solid var(--line);border-radius:14px;padding:30px;width:min(660px,calc(100% - 28px));max-height:90vh;color:var(--ink);box-shadow:0 24px 100px #14251c40}dialog::backdrop{background:#10281a80;backdrop-filter:blur(2px)}dialog h2{margin-bottom:10px}dialog .description{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:24px}dialog.wide{width:min(960px,calc(100% - 28px))}#notice{position:fixed;right:26px;bottom:26px;background:var(--ink);color:#fff;z-index:100;border-radius:8px;padding:15px 22px;font-size:13px;box-shadow:0 8px 25px #13271a30;max-width:450px;display:none}#notice.visible{display:block}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:#fff}.login-story{background:var(--ink);color:#edf2e7;padding:52px 64px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;position:relative;overflow:hidden}.login-story:after{content:'';position:absolute;width:430px;height:430px;border:1px solid #426154;border-radius:50%;bottom:-130px;right:-80px;box-shadow:0 0 0 60px #264136,0 0 0 120px #223b31}.login-story>div{z-index:1;position:relative}.login-story h1{font-size:clamp(40px,4.5vw,68px);line-height:1.06;letter-spacing:-2.8px;font-weight:500;margin-bottom:28px;max-width:550px}.login-story p{max-width:380px;color:#b4c8b9;font-size:15px;line-height:1.8}.login-story .eyebrow{color:#c5d6a4}.login-foot{font-size:10px;letter-spacing:2px;color:#9eb49f}.login-form{display:flex;align-items:center;justify-content:center;padding:48px}.login-inner{width:100%;max-width:390px}.login-inner h2{font-size:28px;margin:14px 0}.login-inner>p{color:var(--muted);font-size:13px;margin-bottom:28px}.login-inner .button{width:100%;margin-top:10px}.login-inner .divider{display:flex;align-items:center;gap:15px;color:#8b9785;font-size:10px;text-transform:uppercase;letter-spacing:1px;margin:30px 0 17px}.divider:before,.divider:after{content:'';flex:1;height:1px;background:var(--line)}.schedule{display:grid;grid-template-columns:95px 1fr 1fr;gap:10px;align-items:center;font-size:12px;margin-bottom:10px}.schedule input{width:100%}.revision{border-left:2px solid #cbd9bd;padding:5px 0 18px 18px;margin-left:8px}.revision strong{font-size:12px}.revision p{white-space:pre-wrap;font-size:14px;margin:8px 0}.preview{max-height:240px;max-width:100%;object-fit:contain}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:20px;color:var(--muted);font-size:12px}.hide{display:none!important}.metric-list{display:grid;gap:15px}.metric-line{display:flex;justify-content:space-between;gap:15px;font-size:13px;padding-bottom:12px;border-bottom:1px solid #d3dcc7}.mobile-brand{display:none}.muted{color:var(--muted);font-size:13px}.print-title{display:none}@media(min-width:1600px){.content{padding-top:48px}.products{grid-template-columns:repeat(4,1fr)}}@media(max-width:1100px){.sidebar{width:205px;padding:30px 14px}.layout{grid-template-columns:205px 1fr}.content{padding:30px}.topbar{padding:0 30px}.modules,.products{grid-template-columns:repeat(2,1fr)}.stats{gap:10px}.stat{padding:18px}.split{grid-template-columns:1fr}.side-summary{position:static}.login-story{padding:45px}.login-form{padding:35px}}@media(max-width:760px){.layout{display:block}.sidebar{position:static;width:100%;padding:20px 18px 10px;display:block}.sidebar .brand{font-size:20px}.sidebar .brand small{font-size:8px}.sidebar .navlabel,.sidebar-bottom{display:none}.nav{display:flex;overflow:auto;margin:19px -18px 0;padding:0 10px 8px;gap:3px}.nav a{white-space:nowrap;padding:10px 12px;min-height:44px;font-size:12px}.nav svg{width:18px;height:18px}.topbar{height:68px;padding:0 20px}.breadcrumb{font-size:11px}.identity-text{font-size:11px}.identity-text small{font-size:10px}.content{padding:26px 18px 50px}.heading{gap:14px;flex-wrap:wrap;margin-bottom:22px}.heading .toolbar{width:100%}h1{font-size:30px}.stats{grid-template-columns:repeat(2,1fr);margin-top:20px;gap:10px}.stat{min-height:105px;padding:18px}.stat strong{font-size:27px}.stat-label{font-size:11px;margin-bottom:12px}.modules{gap:12px}.module{padding:18px;min-height:170px}.module p{font-size:11px}.module h3{font-size:14px}.module-icon{width:36px;height:36px}.module-top{margin-bottom:17px}.products{grid-template-columns:repeat(2,1fr);gap:12px}.product-visual{height:132px}.product-copy{padding:15px}.product-copy h3{font-size:14px}.product-footer{font-size:10px}.filters{gap:8px}.filters .search{width:100%;min-width:100%}.filters select{flex:1;max-width:100%;min-width:130px}.forms-grid{grid-template-columns:1fr}.panel{padding:20px}.login{display:block}.login-story{min-height:270px;padding:30px}.login-story h1{font-size:38px;margin-top:35px;max-width:360px}.login-story p,.login-foot{display:none}.login-story:after{width:220px;height:220px;bottom:-150px}.login-form{padding:34px 24px}.login-inner{max-width:450px}.test-banner{font-size:10px;padding:8px 12px}.technology-item{padding:18px}.item-value{font-size:15px}.work-actions .button{font-size:13px;min-height:64px}.section-title small{font-size:10px}dialog{padding:23px}.schedule{grid-template-columns:75px 1fr 1fr;gap:6px}.schedule input{padding:9px}#notice{bottom:14px;left:14px;right:14px;max-width:none}.info-strip{align-items:flex-start;padding:16px}.table-wrap{margin-left:-3px;margin-right:-3px}}@media(max-width:390px){.modules{grid-template-columns:1fr}.product-footer{display:block}.products{gap:8px}.product-copy{padding:11px}}@media print{.sidebar,.topbar,.toolbar,.filters,.button,.test-banner,#notice{display:none!important}.main{grid-column:auto}.layout{display:block}.content{padding:0}.table-wrap{overflow:visible;border:0}table{white-space:normal}.print-title{display:block}.panel{break-inside:avoid}.heading p{color:#000}body{background:white;color:black}}

.assistant-source-image,.assistant-source-pdf{max-width:100%;max-height:65vh;object-fit:contain}

.photo-dialog{width:min(96vw,1440px);max-width:none;padding:20px}.photo-shell:fullscreen{padding:20px;width:100vw;height:100vh;box-sizing:border-box;background:#fff}.photo-controls{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.photo-stage{height:min(72vh,900px);overflow:hidden;display:flex;align-items:center;justify-content:center;background:#172421;position:relative;touch-action:none;cursor:grab}.photo-stage:active{cursor:grabbing}.photo-stage img{max-width:none;max-height:none;flex:0 0 auto;transform-origin:center;user-select:none;pointer-events:none}.photo-status{position:absolute;bottom:8px;left:12px;background:#fff;color:#172421;padding:5px 10px;border-radius:8px;pointer-events:none}.photo-shell:fullscreen .photo-stage{height:calc(100vh - 160px)}

.photo-dialog.photo-maximized{position:fixed;inset:0;width:100vw;height:100dvh;max-height:none;margin:0;border-radius:0}.photo-maximized .photo-stage{height:calc(100dvh - 150px)}
.catalog-release-progress{width:min(100%,680px);height:12px;accent-color:#193d33}

.session-warning{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:10000;max-width:min(680px,calc(100vw - 32px));padding:16px 20px;border:1px solid #b97815;border-radius:12px;background:#fff3d6;color:#553804;box-shadow:0 6px 24px #0003;font-size:16px;line-height:1.5;}

.session-warning-inline{position:sticky;top:0;z-index:2;padding:14px 16px;border:2px solid #b97815;border-radius:8px;background:#fff3d6;color:#553804;font-size:15px;line-height:1.5;}

/* Product material identifiers must wrap on narrow phones, including assignment/history views. */
.products-material-view{min-width:0;overflow-wrap:anywhere}

/* Only the future catalog settings editor and its contract identifiers. */
dialog:has(.catalog-settings-editor){overflow-wrap:anywhere}
dialog:has(.catalog-settings-editor) form,.catalog-settings-editor,.catalog-settings-editor .panel,.catalog-settings-editor .form-field{min-width:0;max-width:100%}
dialog:has(.catalog-settings-editor) input,dialog:has(.catalog-settings-editor) select,dialog:has(.catalog-settings-editor) textarea{min-width:0;max-width:100%}
.catalog-settings-editor,.catalog-settings-editor code{overflow-wrap:anywhere}
.catalog-settings-editor .toolbar,.catalog-settings-editor .pagination{min-width:0;max-width:100%;flex-wrap:wrap}
.catalog-settings-editor .button,dialog:has(.catalog-settings-editor) .dialog-actions .button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
dialog:has(.catalog-settings-editor) .dialog-actions{flex-wrap:wrap}
[data-release-contracts] td.catalog-contract-identity{white-space:normal}
[data-release-contracts] td.catalog-contract-identity code{display:block;max-width:16ch;overflow-wrap:anywhere}
/* Ordinary immutable Full Print library editor only. CSP uses external styles. */
dialog:has(.design-library-editor){overflow-wrap:anywhere}
dialog:has(.design-library-editor) form,.design-library-editor,.design-library-editor .panel,.design-library-editor .form-field{min-width:0;max-width:100%}
dialog:has(.design-library-editor) input,dialog:has(.design-library-editor) select,dialog:has(.design-library-editor) textarea{min-width:0;max-width:100%}
.design-library-editor,.design-library-editor code{overflow-wrap:anywhere}
.design-library-editor .toolbar{display:flex;flex-wrap:wrap;max-width:100%}
.design-library-editor button{max-width:100%;white-space:normal}
dialog:has(.design-library-editor) .dialog-actions{flex-wrap:wrap}

/* Shared task-oriented editors; headers and actions remain reachable on phones. */
dialog.ux-dialog{padding:0 24px 22px;border:1px solid var(--line);border-radius:20px;max-height:90dvh;overflow:auto;box-shadow:0 24px 80px #182b2833}
.ux-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;background:var(--paper);z-index:4;padding:18px 0 14px;border-bottom:1px solid var(--line);margin-bottom:18px}
.ux-dialog-header h2{margin:0;overflow-wrap:anywhere}.ux-dialog-close{flex-shrink:0;white-space:nowrap}
dialog.ux-dialog .dialog-actions{position:sticky;bottom:-22px;z-index:3;background:var(--paper);border-top:1px solid var(--line);padding:16px 0;margin-top:24px;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}
.dialog-discard{position:sticky;top:80px;z-index:5;background:#fff3d6;padding:16px;border:1px solid #b97815;border-radius:12px}.dialog-discard p{margin-bottom:12px}.dialog-discard button{margin-right:10px}
.ux-page,.ux-tab-panel{min-width:0}.ux-tab-panel[hidden]{display:none!important}
[hidden]:not([hidden="until-found"]){display:none!important}
.ux-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:10px 0 20px}.ux-tabs .button[aria-selected=true],.ux-tabs .button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.ux-field-help{display:block;color:var(--muted);font-size:14px;line-height:1.55;margin:8px 0 16px;max-width:75ch}
.ux-action-card{padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff;min-width:0}.ux-action-card p{color:var(--muted)}
.ux-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin:20px 0}.ux-gallery-item{border:1px solid var(--line);border-radius:14px;overflow:hidden;padding:12px;background:#fff;min-width:0}.ux-gallery-item img{display:block;width:100%;height:180px;object-fit:contain;background:#f3f5f1;border-radius:8px}.ux-gallery-item .row{gap:6px;flex-wrap:wrap;margin-top:12px}.ux-gallery-item .button{white-space:normal;font-size:13px;padding:9px}.ux-gallery-item p{overflow-wrap:anywhere}
.ux-dropzone{border:2px dashed #8ba997;border-radius:16px;padding:28px;background:#f2f8f3;text-align:center;margin:16px 0}.ux-dropzone.dragover,.ux-dropzone:focus-within{border-color:var(--green);background:#e4f1e8}
.ux-product-thumb{width:68px;height:68px;object-fit:contain;border-radius:10px;background:#f4f6f2;vertical-align:middle}.ux-empty-thumb{display:inline-grid;place-items:center;width:68px;height:68px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:12px}
.ux-table{overflow:auto}.ux-primary{background:var(--green);color:white}.ux-secondary{background:white;border:1px solid var(--line)}
.source-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.source-description{white-space:pre-wrap;overflow-wrap:anywhere}.source-gallery img{width:100%;max-height:320px;object-fit:contain}.source-gallery figure{margin:0;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px}
.ux-actions{display:flex;gap:12px;flex-wrap:wrap}.ux-kicker{color:var(--green);font-size:13px;font-weight:600}.ux-home-tasks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:28px}
.button{border-radius:10px;min-height:42px;transition:background-color .15s,border-color .15s}.button:hover:not(:disabled){filter:brightness(.96)}
input[type=file]::file-selector-button{font:inherit;padding:10px 16px;margin-right:12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);cursor:pointer;min-height:42px}input[type=file]::file-selector-button:hover{background:#e4f1e8}
@media(max-width:650px){dialog.ux-dialog{padding:0 16px 16px;max-width:calc(100vw - 20px);width:calc(100vw - 20px);max-height:94dvh}.ux-dialog-header{gap:10px}.ux-dialog-header h2{font-size:19px}.ux-dialog-close{padding:10px;font-size:13px}dialog.ux-dialog .dialog-actions{bottom:-16px}.ux-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ux-gallery-item img{height:140px}.ux-tabs .button{flex-grow:1}.source-detail-grid{grid-template-columns:1fr}}

/* Imported source product presentation; scoped to the product detail screen. */
.source-product-view{min-width:0}
.source-product-view .source-group{min-width:0;margin:18px 0}
.source-product-view .source-group .source-group{box-shadow:none;border:1px solid var(--line);padding:14px}
.source-product-view .source-fields{margin:12px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px 20px}
.source-product-view .source-value{margin:12px 0;min-width:0}
.source-product-view .source-value dt{font-weight:600;font-size:13px}
.source-product-view .source-value dd{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}
.source-product-view .source-more{margin:12px 0;border-top:1px solid var(--line);padding-top:10px;min-width:0}
.source-product-view summary{cursor:pointer;overflow-wrap:anywhere}
.source-product-view .source-item{border-top:1px solid var(--line);padding:14px 0;min-width:0}
.source-product-view .table-wrap{max-width:100%;overflow-x:auto}
.source-product-view .table-wrap table{min-width:760px}
.source-product-view .source-gallery>[data-source-field]{display:contents}
.source-product-view figure{min-width:0}
.source-product-view p,.source-product-view h3,.source-product-view figcaption{overflow-wrap:anywhere}
@media(max-width:760px){
 .source-product-view .source-fields{grid-template-columns:1fr}
 .source-product-view .source-group .source-group{padding:10px}
 .source-product-view .source-detail-grid{grid-template-columns:1fr}
}

/* Persistent product preview sits outside every tab panel. */
.source-product-preview{display:flex;align-items:flex-start;gap:18px;margin:16px 0 20px;min-width:0}
.source-product-preview figure{flex:0 0 132px;width:132px;margin:0;min-width:0}
.source-product-preview img,.source-product-preview .source-preview-empty{display:block;width:132px;height:132px;box-sizing:border-box;border:1px solid #e0e1e3;border-radius:10px;background:#fff;object-fit:contain}
.source-product-preview .source-preview-empty{display:flex;align-items:center;justify-content:center;padding:12px;font-size:.85rem;text-align:center}
.source-product-preview figcaption{margin-top:8px;overflow-wrap:anywhere;font-size:.9rem}
.source-product-preview figcaption strong,.source-product-preview figcaption span{display:block;margin-top:3px}
.source-product-preview .source-preview-meta{min-width:0;overflow-wrap:anywhere}
.source-product-preview .source-preview-meta p{margin:0 0 8px}
.source-product-preview .source-preview-meta .ux-field-help{font-size:.85rem}
@media(max-width:480px){.source-product-preview{gap:12px}.source-product-preview figure{flex-basis:112px;width:112px}.source-product-preview img,.source-product-preview .source-preview-empty{width:112px;height:112px}}

.source-api-object{min-width:0;max-width:100%;margin:8px 0}.source-api-object>summary,.source-api-group>details>summary{cursor:pointer;font-weight:600;overflow-wrap:anywhere;padding:8px 0}.source-api-object>.source-fields{display:block;padding:0 10px;border-left:1px solid #dedfe1}.source-api-item{min-width:0;margin:10px 0}.source-api-text{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.source-api-group>.source-fields{min-width:0}
