/* UI-02 extends the accepted shell; all selectors are scoped to this module. */
.talent-page{--td-surface:#202124;--td-ink:#f3f2ef;--td-muted:#c3c0bc;--td-line:#ffffff30;color:var(--td-ink);padding-top:2px}
.talent-page *{box-sizing:border-box}.talent-page button,.td-dialog button,.td-return{font:inherit;cursor:pointer}
.talent-page h1{font-size:30px;letter-spacing:-.035em;font-weight:400;margin:8px 0 4px}.talent-page .td-subtitle{font-size:12px;color:var(--td-muted);margin:0 0 12px}.talent-page>h1+.td-subtitle{display:none}
.td-search{display:flex;align-items:center;border-bottom:1px solid #ffffff6b;gap:10px;margin:0 0 10px}.td-search>svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;flex:none}
.td-search input{flex:1;min-width:0;border:0!important;background:transparent!important;color:#fff!important;padding:12px 0!important;min-height:48px;font:inherit;font-size:14px!important;outline-offset:3px}
.td-icon{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;min-width:44px;padding:10px;border:1px solid #ffffff40;border-radius:50%;color:inherit;background:#17191c55;flex:none}
.td-icon svg,.td-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.td-search .td-icon{border:0;background:none;border-radius:0}
.td-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;margin-bottom:4px}.td-tools>span{font-size:11px;color:var(--td-muted)}.td-tools>div{display:flex;gap:12px}
.td-text{min-height:44px;border:0;background:transparent;color:inherit;font:inherit;font-size:12px;padding:8px 4px;text-decoration:underline;text-underline-offset:5px}
.td-filter-summary{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:11px;color:var(--td-muted)}.td-filter-summary:empty{display:none}.td-filter-summary .td-text{font-size:11px}
.td-feed{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin-inline:-22px}.td-portrait{position:relative;isolation:isolate;min-width:0;aspect-ratio:3/4.2;background:#3d3c39;overflow:hidden}
.td-portrait>.td-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;z-index:-2}.td-portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0002 0%,transparent 34%,#11131815 47%,#101114ed 100%);z-index:-1;pointer-events:none}
.td-portrait .td-no-photo{position:absolute;inset:0;z-index:-2;display:grid;place-content:center;text-align:center;background:#343332;color:#d4d0c8;gap:10px}.td-no-photo b{font-size:100px;font-weight:300}.td-no-photo small{font-size:12px}
.td-photo-hit{position:absolute;inset:0;width:100%;height:100%;border:0;background:none;z-index:0}.td-portrait .td-topline{position:absolute;left:20px;right:16px;top:16px;display:flex;align-items:center;justify-content:space-between;z-index:1}.td-index{font-size:11px;letter-spacing:.16em;text-shadow:0 1px 4px #000}
.td-top-actions{display:flex;gap:8px}.td-top-actions .td-icon{backdrop-filter:blur(8px);background:#17191c75}.td-icon[aria-pressed=true]{background:#f3f2ef;color:#17191c;border-color:#f3f2ef}.td-icon[aria-pressed=true] svg{stroke-width:2.2}
.td-identity{position:absolute;inset:auto 24px 22px;z-index:1;pointer-events:none}.td-identity button{pointer-events:auto}.td-identity h2{margin:0 0 2px;font-size:39px;line-height:1.28;font-weight:400;letter-spacing:-.035em;overflow-wrap:anywhere}
.td-identity .td-facts{font-size:12px;color:#eeeae4;margin:0 0 8px;line-height:1.8}.td-identity .td-work{font-size:12px;line-height:1.8;color:#dedbd6;margin:0;max-width:34em}.td-identity .td-actions{display:flex;align-items:center;justify-content:space-between;margin-top:12px;border-top:1px solid #ffffff42;padding-top:6px;gap:12px}.td-actions .td-text{font-size:12px;text-decoration:none;padding:8px 0}.td-actions .td-text:last-child{color:#e2ddd5}.td-status{font-size:11px;color:#e5c8ac;margin:8px 0 0}
.td-btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #ffffff50;border-radius:24px;padding:11px 18px;background:transparent;color:#f3f2ef;font:inherit;font-size:13px;cursor:pointer}.td-btn.primary{background:#f3f2ef;color:#17191c;border-color:#f3f2ef}.td-btn:disabled{opacity:.48;cursor:not-allowed}
.talent-page button:focus-visible,.td-dialog button:focus-visible,.td-dialog input:focus-visible,.td-dialog select:focus-visible,.td-dialog textarea:focus-visible,.td-return:focus-visible{outline:2px solid white;outline-offset:3px}.td-photo-hit:focus-visible{outline-offset:-5px!important}
.td-end{font-size:11px!important;text-align:center;color:#bcb9b4!important;margin:22px 0!important}.td-tray{position:fixed;bottom:calc(var(--shell-nav-clearance,84px) + 12px);left:50%;transform:translateX(-50%);width:min(540px,calc(100% - 28px));z-index:38;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #ffffff55;border-radius:28px;padding:9px 10px 9px 18px;background:#1c1e20f5;box-shadow:0 8px 28px #0005}.td-tray .td-text{font-size:12px;text-align:left;text-decoration:none}.td-tray[hidden]{display:none}.talent-page:has(.td-feed){padding-bottom:70px}
.td-empty{min-height:300px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;padding:30px 4px}.td-empty h2{font-size:25px;margin:0}.td-empty p{font-size:13px;margin:0;max-width:32em}.td-loading{height:440px;background:#333435;display:flex;align-items:center;justify-content:center;color:#d1d0cd;animation:td-pulse 1.3s ease-in-out infinite alternate}@keyframes td-pulse{to{opacity:.55}}
.td-dialog{position:fixed;inset:auto 0 0;margin:0 auto;width:100%;max-width:650px;max-height:90dvh;padding:0;border:1px solid #ffffff35;border-bottom:0;border-radius:24px 24px 0 0;background:#202225;color:#f3f2ef;font-family:inherit;overflow:auto;overscroll-behavior:contain}.td-dialog::backdrop{background:#08090cb0;backdrop-filter:blur(5px)}.td-dialog[open]{display:flex;flex-direction:column}.td-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 22px 12px;border-bottom:1px solid #ffffff26;position:sticky;top:0;background:#202225;z-index:3}.td-dialog-head h2{font-size:21px;font-weight:400;margin:0}.td-dialog-body{padding:20px 22px calc(24px + env(safe-area-inset-bottom));overflow:auto;min-height:0}.td-dialog p{font-size:13px;line-height:1.85;color:#cac8c4;margin:0 0 16px}.td-dialog h3{font-size:17px;font-weight:500;margin:22px 0 12px}.td-dialog .td-small{font-size:11px;color:#bdbbb7}.td-dialog input:not([type=checkbox]):not([type=radio]),.td-dialog select,.td-dialog textarea{display:block;min-height:46px;width:100%;font:inherit;font-size:14px;background:#141618;color:#f3f2ef;border:1px solid #7c7f83;border-radius:8px;padding:10px 12px;box-sizing:border-box}/* item 205 (fix round 11 Nov 2026, owner accepted): the field border is #7c7f83, 3.4:1 on the panel behind it (#2b2b2b). Was: #ffffff42, 1.9:1 */.td-dialog input[type=checkbox],.td-dialog input[type=radio]{width:19px;height:19px;accent-color:#eee;flex:none}.td-dialog label{font-size:13px}.td-field{display:block;margin-bottom:18px}.td-field>span{display:block;margin-bottom:7px}.td-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.td-check{display:flex;gap:12px;align-items:center;min-height:46px;border-bottom:1px solid #ffffff16;padding:7px 0}.td-dialog fieldset{border:0;padding:0;margin:0 0 18px;min-width:0}.td-dialog legend{font-size:15px;padding:0;margin:0 0 12px}.td-dialog details{border-top:1px solid #ffffff30;margin:10px 0;padding:10px 0}.td-dialog summary{min-height:44px;cursor:pointer;font-size:14px;display:flex;align-items:center}.td-modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.td-error{color:#ffd2c8!important;min-height:1em}/* Owner 31 Oct 2026 (FIX-LIST 1.9 / B-38): the quick-preview photo is one person's profile photo, shown whole in a 4:5 frame. Was: full width, max-height 450px, object-position center 30%. */.td-preview-photo{display:block;width:min(100%,360px,calc(50dvh * .8));height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 50%;margin:0 auto 20px}.td-review-row,.td-list-row{display:flex;align-items:center;gap:12px;min-height:76px;border-bottom:1px solid #ffffff24;padding:12px 0}.td-review-row>span,.td-list-row>span{flex:1;min-width:0}.td-review-row strong,.td-list-row strong{font-size:15px;font-weight:500;display:block;overflow-wrap:anywhere}.td-review-row small,.td-list-row small{font-size:11px;display:block;margin-top:5px;color:#c6c2bc}.td-review-row img{width:44px;height:58px;object-fit:cover}.td-list-row{width:100%;text-align:left;background:none;color:inherit;border-top:0;border-left:0;border-right:0;font:inherit;cursor:pointer}.td-list-row .td-chevron{flex:0;font-size:22px}.td-list-title{margin-bottom:20px}.td-list-title h1{font-size:25px}.td-note{padding:14px 16px;border-left:2px solid #c3b9a6;background:#ffffff08;margin:16px 0;font-size:12px;line-height:1.8}.td-return{position:fixed;top:calc(var(--shared-header-height) + 8px);left:18px;z-index:32;background:#17191cdd;color:#fff;border:1px solid #ffffff50;border-radius:24px;min-height:44px;padding:10px 16px;font-size:12px;backdrop-filter:blur(10px)}.td-return[hidden]{display:none}body.td-modal-open{overflow:hidden}body.td-modal-open .td-tray{display:none}
@media(min-width:761px){.talent-page h1{font-size:38px}.td-search{max-width:640px}.td-feed{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-inline:0}.td-portrait{aspect-ratio:3/4.6}.td-identity h2{font-size:39px}.td-tools{margin-bottom:18px}.td-dialog{inset:0;margin:auto;width:calc(100% - 64px);max-height:85dvh;border-bottom:1px solid #ffffff35;border-radius:24px;height:fit-content}.td-dialog-body{padding:24px 28px}.td-dialog-head{padding:18px 28px}.td-return{left:28px}}
@media(orientation:landscape) and (max-height:599px){.td-feed{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-inline:0}.td-portrait{aspect-ratio:3/4.2}.td-identity{inset:auto 18px 16px}.td-identity h2{font-size:30px}.td-dialog{inset:12px 0;margin:auto;border-radius:20px;border-bottom:1px solid #ffffff35;max-height:calc(100dvh - 24px)}.td-dialog-head{padding-block:8px}.td-tray{width:min(510px,calc(100% - 32px))}}
@media(max-width:350px){.td-identity h2{font-size:33px}.td-identity{inset:auto 18px 20px}.td-portrait{aspect-ratio:3/4.7}.td-dialog-body{padding-inline:18px}.td-tools{gap:4px}.td-tools .td-text{font-size:11px}}
@media(prefers-reduced-motion:reduce){.td-loading{animation:none}.talent-page *{scroll-behavior:auto}}

/* Round 0.2: many people at a glance, in an uneven photographic gallery. */
.td-feed{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:10px;grid-auto-flow:dense;gap:8px;margin-inline:-10px}
.td-portrait{aspect-ratio:auto;grid-row:span 14;min-height:0}
.td-portrait:nth-child(4n+2){grid-row:span 18}.td-portrait:nth-child(4n+3){grid-row:span 17}.td-portrait:nth-child(4n+4){grid-row:span 14}
.td-portrait>.td-photo{object-position:50% 25%}.td-portrait:after{background:linear-gradient(180deg,#0001,transparent 35%,#10111412 50%,#101114e8 100%)}
.td-portrait .td-topline{inset:8px 7px auto 8px;justify-content:flex-end}.td-portrait .td-index{display:none}.td-top-actions{gap:4px}.td-top-actions .td-icon{width:44px;height:44px;min-width:44px;min-height:44px;padding:12px;background:#17191c66}
.td-identity{inset:auto 12px 10px}.td-identity h2{font-size:22px;line-height:1.3;margin:0 0 5px;letter-spacing:-.025em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;padding-right:4px}
.td-identity .td-facts{font-size:10px;line-height:1.65;margin:0;max-width:calc(100% - 20px)}
.td-identity .td-work{display:none}.td-identity .td-status{font-size:9px;line-height:1.5;margin:5px 0 0;padding-right:22px}.td-identity .td-actions{border:0;margin:0;padding:0;min-height:0;position:absolute;right:-5px;bottom:-5px}.td-actions [data-td=preview]{display:none}.td-actions [data-td=profile]{font-size:0!important;min-width:32px;min-height:44px;text-decoration:none}.td-actions [data-td=profile]:after{content:'↗';font-size:17px}
.td-no-photo b{font-size:64px}.td-no-photo small{font-size:10px}.td-btn[data-td=more-results]{display:flex;margin:24px auto 0}
.td-refresh-control{font-size:11px!important;color:#c3c0bc;text-decoration:none;display:inline-flex;align-items:center;gap:7px}.td-refresh-control span{font-size:20px}
.td-float-tools{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:calc(var(--shell-nav-clearance,84px) + 14px);z-index:39;display:flex;flex-direction:column;align-items:center;gap:10px}
.td-float-tools[hidden]{display:none}.td-float-tools.with-selection{bottom:calc(var(--shell-nav-clearance,84px) + 94px)}
.td-float-tools button{border:1px solid #ffffff77;border-radius:50%;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 22px #0005}.td-floating-search{width:52px;height:52px;background:#f3f2ef;color:#17191c}.td-floating-top{width:44px;height:44px;background:#232629ed;color:#fff}
.td-float-tools svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.td-float-tools button:focus-visible{outline:2px solid white;outline-offset:4px}
.td-refresh-notice{position:fixed;top:calc(var(--shared-header-height) + 6px);left:50%;transform:translateX(-50%);z-index:40;background:#f3f2ef;color:#17191c;font-size:12px;padding:11px 20px;border-radius:24px;max-width:calc(100% - 32px);text-align:center;box-shadow:0 5px 20px #0003}.td-refresh-notice[hidden]{display:none}
body:has(.talent-page){overscroll-behavior-y:contain}.td-sprite{overflow:hidden;display:block;fill:none;stroke:none}.td-portrait>.td-sprite{width:100%;height:100%}.td-preview-photo.td-sprite{height:auto}.td-review-row .td-mini{width:44px;height:58px;flex:none}.casting-gallery .td-sprite{display:block;width:100%;height:100%;object-fit:cover}/* Owner 31 Oct 2026 (B-38): a sample photo in the album keeps its 4:5 shape. Was: width 100% x 62dvh (cropped to the box). */.album-slide .td-sprite{display:block;width:min(100%,calc(min(62dvh,600px) * .8));height:auto;aspect-ratio:4/5;margin-inline:auto}.td-directory-back{border:0;background:none;color:#f3f2ef;min-width:44px;min-height:44px;padding:10px 10px 10px 0;margin-left:-8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.td-directory-back svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8}
@media(min-width:761px){.td-feed{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:12px;gap:12px;margin-inline:0}.td-portrait{grid-row:span 14}.td-identity{inset:auto 17px 16px}.td-identity h2{font-size:28px}.td-identity .td-facts{font-size:11px}.td-float-tools{right:max(24px,env(safe-area-inset-right))}}
@media(min-width:1050px){.td-feed{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:11px;gap:12px}.td-identity h2{font-size:26px}}
@media(orientation:landscape) and (max-height:599px){.td-feed{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:10px;gap:10px}.td-identity h2{font-size:24px}.td-float-tools{gap:6px;bottom:calc(var(--shell-nav-clearance) + 10px)}.td-floating-search{width:46px;height:46px}.td-float-tools.with-selection{bottom:calc(var(--shell-nav-clearance) + 78px)}}
@media(max-width:350px){.td-feed{gap:6px;grid-auto-rows:10px}.td-identity{inset:auto 10px 9px}.td-identity h2{font-size:20px}.td-identity .td-facts{font-size:9px}}

.talent-page>.td-directory-back{float:left;margin-top:5px;margin-right:4px}.talent-page>.td-directory-back~.td-search{clear:both}

.td-directory-entry strong{font-weight:400}.td-actions [data-td=profile]{min-width:44px}
/* Round 0.3: a compact shared action position, explicit green states and batch actions. */
.td-portrait .td-topline{inset:auto 5px 49px auto;width:44px;height:44px;display:block;z-index:3}.td-top-actions{display:block}.td-top-actions .td-icon{position:relative;width:44px;height:44px;min-width:44px;min-height:44px;padding:13px;border:0;border-radius:0;background:none!important;backdrop-filter:none;color:#fff;isolation:isolate}
.td-top-actions .td-icon:before{content:'';position:absolute;inset:7px;border:1px solid #e8ecea99;border-radius:50%;background:#161b1bd9;z-index:-1}.td-top-actions .td-icon svg{width:17px;height:17px;stroke-width:1.6}.td-top-actions .td-icon[data-td=select][aria-pressed=false] svg{opacity:0}.td-top-actions .td-icon[aria-pressed=true]{color:#77edb5}.td-top-actions .td-icon[aria-pressed=true]:before{border-color:#77edb5;background:#183f31}.td-top-actions .td-icon[aria-pressed=true] svg{stroke-width:2.5}.td-top-actions .td-icon[data-td=save][aria-pressed=true] svg{fill:#77edb5;stroke:#77edb5}
.td-identity{padding-right:31px}.td-identity h2{padding-right:0}.td-identity .td-facts{max-width:none}.td-identity .td-status{padding-right:0}.td-identity .td-actions{position:static}.td-actions [data-td=profile]{position:absolute;right:-7px;bottom:-5px;width:44px;color:#b0e9cd!important}.td-actions [data-td=profile]:after{font-size:19px}.td-portrait:has([data-td=select][aria-pressed=true]){outline:1px solid #77edb599;outline-offset:-1px}
.td-search-submit{display:grid;place-items:center;width:36px;min-width:36px;height:44px;padding:6px 6px 6px 0;border:0;background:none;color:inherit;cursor:pointer}.td-search-submit svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6}.td-search{gap:4px}.talent-page h1:focus{outline:none}
.td-select-all{display:flex;flex-wrap:wrap;align-items:center;gap:0 12px;padding:0 0 12px;margin-top:-2px}.td-select-all .td-text{color:#9de6bf;text-decoration:none}.td-select-all small{font-size:10px;color:#c6ccc8;line-height:1.7}.td-select-all [aria-pressed=true]{color:#77edb5}.td-feed-end{padding:24px;text-align:center;font-size:11px;color:#adb5b1;min-height:60px}
.td-tray{display:block;padding:7px 12px 10px;border-radius:20px;width:min(560px,calc(100% - 28px))}.td-tray-summary{display:flex;align-items:center;justify-content:space-between;gap:8px}.td-tray-summary .td-text{min-height:32px;padding:5px 2px}.td-tray-summary .td-text:last-child{font-size:11px;color:#c7cec9}.td-tray-actions{display:flex;gap:8px}.td-tray-actions .td-btn{flex:1;min-width:0;padding:10px 8px;font-size:12px;white-space:nowrap;border-radius:14px;min-height:44px}.td-tray-actions .td-btn.primary{background:#a4e9c7;border-color:#a4e9c7;color:#123025}.td-float-tools.with-selection{bottom:calc(var(--shell-nav-clearance,84px) + 128px)}
.td-list-saved .td-list-mark{color:#77edb5}.td-list-saved small{color:#a4e9c7}.td-list-mark{width:28px;flex:none;text-align:center;font-size:22px}.td-list-mark svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2}.td-list-row:disabled{opacity:1;cursor:not-allowed}
/* Owner 7 Nov 2026 (fix round, Q2-S-10; owner "สีขาวของโปรเจคเอาให้เท่ากัน"): a list the person may only view keeps the same white title as
   the other rows (opacity 1 over profile.css button:disabled); its line says "ดูอย่างเดียว" and it has no "+" (talent.js savePanel). Was: the whole row faded (opacity .5). */
@media(min-width:761px){.td-portrait .td-topline{right:10px;bottom:55px}.td-actions [data-td=profile]{right:-7px}.td-identity{padding-right:33px}}
@media(max-width:350px){.td-identity{padding-right:29px}.td-tray-actions .td-btn{font-size:11px}.td-portrait .td-topline{right:3px;bottom:48px}.td-actions [data-td=profile]{right:-7px}.td-tools>div{gap:6px}.td-tools .td-text{font-size:10px}}
@media(orientation:landscape) and (max-height:599px){.td-float-tools.with-selection{bottom:calc(var(--shell-nav-clearance,84px) + 119px)}}
.td-selecting .td-photo-hit{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.td-selecting .td-portrait{user-select:none;-webkit-user-select:none}.td-selection-hint{font-size:10px!important;line-height:1.7!important;color:#bbcfc5!important;margin:0 0 10px!important}.td-dragging .td-photo-hit{cursor:crosshair}.td-dragging .td-portrait{transition:none}

.td-actions [data-td=profile]{height:44px;min-height:44px;padding:0;line-height:1}
/* Reversible directory-only color study; approved individual profile theme stays separate. */
@property --td-ambient-glow{syntax:'<color>';inherits:true;initial-value:#48433d}
@property --td-ambient-ground{syntax:'<color>';inherits:true;initial-value:#292827}
@property --td-ambient-panel{syntax:'<color>';inherits:true;initial-value:#242628}
body[data-shell-page=talent][data-directory-palette=adaptive]{background-color:#17191c;background-image:radial-gradient(ellipse 110% 80% at 35% 22%,var(--td-ambient-glow),transparent 85%),linear-gradient(var(--td-ambient-ground),#17191c);background-attachment:fixed;transition:--td-ambient-glow 1.8s cubic-bezier(.22,.61,.36,1),--td-ambient-ground 1.8s cubic-bezier(.22,.61,.36,1),--td-ambient-panel 1.8s cubic-bezier(.22,.61,.36,1)}
body[data-shell-page=talent][data-directory-palette=adaptive] #app-header{background:linear-gradient(180deg,var(--td-ambient-ground),color-mix(in srgb,var(--td-ambient-ground) 65%,transparent) 60%,transparent)}
body[data-shell-page=talent][data-directory-palette=adaptive] .td-dialog,body[data-shell-page=talent][data-directory-palette=adaptive] .td-dialog-head{background:var(--td-ambient-panel)}
@media(prefers-reduced-motion:reduce){body[data-shell-page=talent][data-directory-palette=adaptive]{transition:none}}
/* Work type is a multi-select checklist; selection remains a draft until search is applied. */
.td-dialog .td-role-picker{margin:0 0 22px;padding:0;border:1px solid #ffffff42;border-radius:10px;overflow:hidden}.td-dialog .td-role-picker>summary{padding:12px 14px;gap:14px;list-style:none;cursor:pointer;min-height:64px}.td-role-picker>summary::-webkit-details-marker{display:none}.td-role-picker>summary>span{flex:1;min-width:0}.td-role-picker strong{display:block;font-size:14px;font-weight:500}.td-role-picker #td-role-label{display:block;margin-top:5px;font-size:12px;line-height:1.8;color:#c6d3cc;overflow-wrap:anywhere}.td-role-picker>summary>svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;flex:none}.td-role-picker[open]>summary>svg{transform:rotate(180deg)}.td-role-picker[open]>summary{border-bottom:1px solid #ffffff25}.td-role-picker>p{padding:14px 14px 0;margin-bottom:6px}.td-role-picker fieldset{padding:0 14px;margin:0}.td-role-option{padding-block:10px;line-height:1.65;cursor:pointer}.td-role-option input[type=checkbox]{accent-color:#77edb5}.td-role-option:has(input:checked){color:#a4e9c7}.td-role-picker-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px;position:sticky;bottom:0;background:var(--td-ambient-panel,#242628)}.td-role-picker-actions .td-btn{font-size:12px;padding-inline:14px}.td-role-picker>summary:focus-visible{outline:2px solid #a4e9c7;outline-offset:-3px}

.td-worktype-heading{display:flex;align-items:center;gap:5px}.td-worktype-info{width:44px;height:44px;border:0;background:transparent;color:inherit;display:grid;place-items:center;padding:10px;cursor:pointer}.td-worktype-info svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}.td-worktype-info:focus-visible{outline:2px solid #a4e9c7;border-radius:50%}.td-work-guide{padding:16px;background:#ffffff08;border-bottom:1px solid #ffffff25}.td-work-guide p,.td-work-guide dd{font-size:13px;line-height:1.8}.td-work-guide dt{font-size:14px;font-weight:500;margin-top:18px}.td-work-guide dd{margin:5px 0;color:#c8ceca}.td-work-guide[hidden]{display:none}

.td-experience-field{min-width:0;margin:0 0 24px}.td-experience-field>legend{font-size:14px;font-weight:500}.td-experience-field>p{margin:6px 0 12px}.td-experience-field .experience-entry{border-color:#7c7f83}/* item 205: was #ffffff35 (2.0:1) */.td-experience-token{display:contents}#td-experience-error:empty{display:none}
.td-guide-popup{inset:0!important;margin:auto!important;width:min(540px,calc(100% - 32px))!important;max-height:78dvh!important;height:fit-content!important;border:1px solid #ffffff35!important;border-radius:20px!important;background:#252728!important;box-shadow:0 24px 80px #0008}.td-guide-popup::backdrop{background:#0008;backdrop-filter:blur(4px)}.td-guide-popup .td-dialog-head{background:#252728!important;padding:18px 20px}.td-guide-popup h2{font-size:19px}.td-guide-popup .td-work-guide{padding:4px 20px 22px;background:transparent;border:0}.td-guide-popup .td-work-guide dt{margin-top:22px}.td-guide-popup .td-work-guide dd{margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid #ffffff12}
.td-tools{flex-wrap:wrap;gap:10px;margin:12px 0 18px}.td-tools>div{gap:8px;margin-left:auto}.td-tool-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 13px;border:1px solid #ffffff27;border-radius:24px;background:#ffffff06;color:#dfE5e1;font:inherit;font-size:12px;line-height:1.4;cursor:pointer;transition:background .18s,border-color .18s}.td-tool-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}.td-tool-button:hover{background:#ffffff10;border-color:#ffffff50}.td-tool-button[aria-pressed=true]{background:#99d9b916;border-color:#9de6bf60;color:#c3f1d9}.td-tool-button:focus-visible{outline:2px solid #a4e9c7;outline-offset:3px}@media(max-width:350px){.td-tool-button{font-size:11px;padding-inline:11px}}

.td-preview-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:24px 0 16px}.td-preview-actions .td-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:78px;padding:11px 5px;border-radius:13px;font-size:12px;line-height:1.45;text-align:center;border-color:#ffffff28;background:#ffffff05}.td-preview-actions .td-btn.primary{background:#e3eee7;color:#263b30;border-color:#e3eee7}.td-preview-actions svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.td-preview-actions .td-btn[aria-pressed=true]{border-color:#8ad7ad;color:#b1ebcb}.td-safety-link{width:100%;display:flex;align-items:center;gap:10px;min-height:48px;padding:13px 0;border:0;border-top:1px solid #ffffff1e;background:none;color:#bfc9c3;font:inherit;font-size:12px;text-align:left;cursor:pointer}.td-safety-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}.td-safety-link>span:last-child{margin-left:auto;font-size:21px}.td-safety-link:hover{color:#fff}.td-dialog [data-safety-action]{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;min-height:52px;border-radius:12px;background:#ffffff05;border-color:#ffffff28;font-size:13px;text-align:left}.td-dialog [data-safety-action] svg,.td-report-note h3 svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}.td-report-note{margin-top:26px;padding-top:4px;border-top:1px solid #ffffff1e}.td-report-note h3{display:flex;align-items:center;gap:10px;font-size:15px}@media(max-width:350px){.td-preview-actions{gap:6px}.td-preview-actions .td-btn{font-size:11px}}

.td-directory-heading{display:flex;align-items:center;gap:12px}.td-directory-heading>svg{width:27px;height:27px;flex:0 0 27px;fill:none;stroke:currentColor;stroke-width:1.5;color:#c8d9d0}@media(min-width:761px){.td-directory-heading>svg{width:32px;height:32px;flex-basis:32px}}

.td-criteria{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 18px}.td-criterion{display:inline-flex;align-items:center;gap:9px;max-width:100%;min-height:44px;padding:8px 12px;border:1px solid #c5dbc538;border-radius:22px;background:#d9eddf09;color:#dce8df;font:inherit;font-size:12px;text-align:left;cursor:pointer}.td-criterion span{overflow-wrap:anywhere;min-width:0}.td-criterion svg,.td-undo-notice svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6}.td-criterion:hover{background:#d9eddf16;border-color:#c5dbc56b}.td-sort{display:flex;align-items:center;gap:12px;font-size:12px;color:#c8d5cd;margin:6px 0 16px}.td-sort select{font:inherit;color:#e5eee8;background:#222a26;border:1px solid #dce9e22e;border-radius:20px;min-height:44px;max-width:100%;padding:8px 34px 8px 14px}.td-sort-note{font-size:11px!important;line-height:1.7;color:#bccbc2;margin:-7px 0 15px!important}.td-undo-notice{position:fixed;z-index:42;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 24px);padding:5px 7px 5px 16px;border:1px solid #b9d6c452;border-radius:16px;background:#26332ef5;color:#edf5ee;box-shadow:0 8px 30px #0004;font-size:12px;line-height:1.5}.td-undo-notice[hidden]{display:none}.td-undo-notice>span{min-width:0}.td-undo-notice button{font:inherit;min-height:44px;border:0;background:transparent;color:#b5efd0;cursor:pointer;white-space:nowrap}.td-undo-notice [data-td=dismiss-undo]{width:36px;display:grid;place-items:center;color:#d9e3dc;flex:none}.td-criterion:focus-visible,.td-sort select:focus-visible,.td-undo-notice button:focus-visible{outline:2px solid #a4e9c7;outline-offset:3px}@media(max-width:350px){.td-undo-notice{font-size:11px;gap:4px;padding-left:10px}}
.td-dialog .td-gender-group{margin:0 0 20px}.td-gender-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.td-gender-option{display:flex;align-items:center;min-width:0;border:1px solid #ffffff30;border-radius:12px;background:#ffffff04}.td-gender-option label{display:flex;align-items:center;gap:10px;flex:1;min-width:0;min-height:48px;padding:10px 12px;font-size:14px;cursor:pointer}.td-gender-option input[type=radio]{appearance:auto;flex:none;accent-color:#a4e9c7;width:17px;height:17px;padding:0;margin:0}.td-gender-option:has(input:checked){border-color:#a4e9c78c;background:#a4e9c70f;color:#c5f3dc}.td-gender-option .td-worktype-info{flex:none;width:40px;padding:10px;margin-left:-8px}.td-gender-group .td-small{margin:8px 0 0;line-height:1.8}#td-gender-dialog .td-dialog-body{padding:10px 20px 24px;font-size:15px;line-height:1.9}

/* FB08: user-authored list names remain complete at narrow widths. */
.td-list-title{min-width:0}.td-list-title h1{overflow-wrap:anywhere}
/* FB46–49: portrait-led directory; source order stays the reading order. */
.talent-page .td-heading-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 12px}
.talent-page .td-heading-row .td-directory-heading{flex:1 1 120px;min-width:0;margin:0;line-height:1.3}
.talent-page .td-heading-row .td-directory-back{position:static;flex:0 0 36px;margin:0}
.talent-page .td-directory-tools{display:flex;align-items:center;gap:2px;margin-left:auto}
.talent-page .td-directory-tools .td-tool-button{width:44px;height:44px;min-height:44px;min-width:44px;padding:12px;border:0;background:transparent;border-radius:12px;color:inherit;display:grid;place-items:center}
.talent-page .td-directory-tools .td-tool-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.talent-page .td-directory-tools .td-tool-button span{display:none}
.talent-page .td-directory-tools .td-tool-button[aria-pressed=true]{background:#c1cbb92b;color:#d5e0c6}
.talent-page .td-search{margin-bottom:0}
.talent-page .td-search input{min-width:0}
.talent-page .td-search .td-refresh-control{width:44px;height:44px;min-width:44px;min-height:44px;opacity:.72}
.talent-page .td-search .td-refresh-control svg{width:16px;height:16px}
.talent-page .td-filter-summary:empty,.talent-page #td-selection-tools:empty{display:none}
.talent-page #td-results{margin-top:16px;transform:translateY(var(--td-pull-distance,0px));transition:transform .28s cubic-bezier(.16,1,.3,1)}
.talent-page.td-pulling #td-results{transition:none}
.talent-page .td-pull-slot{position:relative;height:0;z-index:3}
.talent-page .td-pull-slot .td-refresh-notice{position:absolute;top:4px;left:50%;transform:translateX(-50%);max-width:95%;width:max-content;margin:0;padding:6px 12px;border:1px solid #b5c2a844;border-radius:20px;background:#30382eee;color:#edf0e7;font-size:11px;line-height:18px;box-shadow:none;pointer-events:none}
.talent-page .td-pull-slot .td-refresh-notice[data-phase=ready]{background:#49563fee}
.talent-page .td-feed{grid-auto-flow:row;margin-inline:0;gap:10px}
.talent-page .td-portrait{border-radius:28px;grid-row:span 16}
.talent-page .td-portrait:nth-child(6n+1),.talent-page .td-portrait:nth-child(6n+4){grid-row:span 18}
.talent-page .td-portrait:nth-child(6n+2),.talent-page .td-portrait:nth-child(6n+3){grid-row:span 14}
.talent-page .td-portrait:nth-child(6n+5),.talent-page .td-portrait:nth-child(6n+6){grid-row:span 16}
.talent-page .td-identity{padding-right:29px;inset:auto 12px 12px}
.talent-page .td-identity h2{font-size:22px;line-height:1.3;margin:3px 0 4px;overflow-wrap:anywhere}
.talent-page .td-location{display:flex;align-items:center;gap:4px;margin:0;color:#f0f0ed;font-size:10px;line-height:1.45;min-width:0}
.talent-page .td-location svg{width:12px;height:12px;flex:0 0 12px;fill:none;stroke:currentColor;stroke-width:1.5}
.talent-page .td-location span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.talent-page .td-facts{font-size:10px;line-height:1.5}
@media(min-width:761px){.talent-page .td-feed{gap:12px}.talent-page .td-identity h2{font-size:27px}}
@media(max-width:350px){.talent-page .td-feed{gap:8px}.talent-page .td-portrait{border-radius:26px}.talent-page .td-identity{inset:auto 10px 12px;padding-right:24px}.talent-page .td-identity h2{font-size:19px}.talent-page .td-heading-row .td-directory-heading{font-size:25px}}
@media(prefers-reduced-motion:reduce){.talent-page #td-results{transform:none;transition:none}}

/* Explicit refresh varies frame assignment independently of a sorted actor order. */
.talent-page .td-feed .td-portrait[data-frame="18"]{grid-row:span 18}
.talent-page .td-feed .td-portrait[data-frame="14"]{grid-row:span 14}
.talent-page .td-feed .td-portrait[data-frame="16"]{grid-row:span 16}

/* FB62: keep the directory title together, with secondary tools on their own row. */
.talent-page .td-directory-heading>span{word-break:normal;overflow-wrap:normal;text-wrap:balance}
.talent-page .td-heading-row:has(.td-directory-back){display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:8px;row-gap:0}
.talent-page .td-heading-row:has(.td-directory-back) .td-directory-heading{font-size:28px;white-space:nowrap}
.talent-page .td-heading-row:has(.td-directory-back) .td-directory-heading>svg{display:none}
.talent-page .td-heading-row:has(.td-directory-back) .td-directory-tools{grid-column:2;justify-self:end}

/* SEARCH-MATCH-01: quiet evidence beneath the portrait, never a badge over the face. */
.td-result{display:contents}.td-result:has(.td-match-reason){display:block;min-width:0}.td-result>.td-portrait{width:100%}
.talent-page .td-match-reason{display:block;width:100%;min-height:44px;margin:0;padding:10px 2px 12px;border:0;background:transparent;color:#dce6df;font:inherit;font-size:13px;line-height:1.65;text-align:left;overflow-wrap:anywhere;cursor:pointer}
button.td-match-reason:hover{text-decoration:underline;text-underline-offset:4px}.td-match-private{cursor:default}
.td-profile-match{display:block;max-width:100%;min-height:44px;margin:0 0 16px;padding:8px 0;border:0;background:transparent;color:inherit;font:inherit;font-size:14px;line-height:1.7;text-align:left;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;cursor:pointer}
p.td-profile-match{text-decoration:none;cursor:default}.td-match-detail{font-size:14px!important;line-height:1.8!important;color:inherit!important;padding:12px 0;margin:0 0 12px!important;white-space:pre-wrap;overflow-wrap:anywhere;font-weight:500}
.td-match-reason:focus-visible,.td-profile-match:focus-visible,.td-match-detail:focus-visible{outline:2px solid #b5dbc5;outline-offset:3px;border-radius:3px}

/* Contextual profile return keeps the incumbent top-left anchor without a second Back control. */
.td-return.td-context-return{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:10px;border:0;border-radius:50%;background:transparent;color:inherit;backdrop-filter:none;box-shadow:none;filter:none;transition:transform .12s ease}.td-return.td-context-return[hidden]{display:none}.td-return.td-context-return svg{width:24px;height:24px}.td-return.td-context-return:hover,.td-return.td-context-return:active{background:transparent;box-shadow:none;filter:none}.td-return.td-context-return:active{transform:translateY(1px) scale(.94)}.td-return.td-context-return:focus-visible{outline:2px solid currentColor;outline-offset:2px;box-shadow:none}@media(prefers-reduced-motion:reduce){.td-return.td-context-return{transition:none}}

/* Owner instruction 17 Oct 2026: fix overlapping buttons and small tap targets. The selection summary row is 44px tall (text stays where it was by trimming the tray's top padding) and Clear is at least 44px wide. */
.td-tray{padding-top:1px}
.td-tray-summary .td-text{min-height:44px}
.td-tray-summary .td-text:last-child{min-width:44px;text-align:right}
/* New-features block X5 (owner 18 Oct 2026, OWNER-DECISIONS-2026-10-18-TH.md "ทำเนียบผู้สร้างงาน"): the creator directory's small cards,
   filters and résumé (talent.js drawCreators), in this page's own tokens and controls. */
.talent-page .td-creator-count{margin:0 0 10px}
.td-creator-feed{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.td-creator-card{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:84px;padding:12px 6px 12px 12px;border:1px solid var(--td-line);border-radius:18px;background:var(--td-surface)}
.td-creator-hit{position:absolute;inset:0;z-index:1;border:0;border-radius:inherit;background:transparent;padding:0}
.td-creator-hit:hover{background:#ffffff08}
.td-creator-avatar,.td-creator-photo{display:grid;place-items:center;border-radius:50%;object-fit:cover;background:#ffffff14;color:var(--td-ink)}
.td-creator-avatar{width:56px;height:56px;font-size:22px}
.td-creator-photo{width:84px;height:84px;flex:0 0 84px;font-size:30px}
.td-creator-text{min-width:0}
.talent-page .td-creator-text h2{font-size:16px;font-weight:500;line-height:1.35;margin:0 0 2px;overflow-wrap:anywhere}
.td-creator-roles{font-size:12px;line-height:1.5;color:var(--td-muted);margin:0}
.td-creator-role{display:inline-block;max-width:100%;vertical-align:top}/* Final polish R1: one role is not cut in two while it fits the line; see creatorRoleHtml in talent.js */
.td-creator-status{font-size:11px;line-height:1.5;color:#9de6bf;margin:3px 0 0}
.td-creator-self{display:inline-block;font-size:11px;margin:4px 0 0;padding:2px 9px;border:1px solid var(--td-line);border-radius:10px;color:var(--td-muted)}
.td-creator-actions{position:relative;z-index:2;display:flex}
.td-creator-card{column-gap:12px;row-gap:0;align-content:center}/* Final polish round 3 T1: a card stretched to a taller neighbour in the 2- and 3-column grids keeps the name, roles and status together (the grid rows do not stretch). *//* Final polish round 2 Q1: the column beside the avatar and the two buttons is 123-133 px, narrower than "Talent Representative" (142 px), so a role was cut in two. The name keeps that column next to the buttons; the roles, the status and the "Your profile" tag take the width under the name and the buttons (about 230 px at 360), where a whole role fits. */
.td-creator-text{display:contents}
.td-creator-card>.td-creator-avatar{grid-column:1;grid-row:1/span 4;align-self:center}
.talent-page .td-creator-card h2{grid-column:2;grid-row:1;min-width:0}
.td-creator-card .td-creator-actions{grid-column:3;grid-row:1}
.td-creator-card .td-creator-roles{grid-column:2/-1;grid-row:2}
.td-creator-card .td-creator-status{grid-column:2/-1;grid-row:3}
.td-creator-card .td-creator-self{grid-column:2/-1;grid-row:4;justify-self:start}
.td-creator-note{margin:16px 0 0;max-width:42em}
.td-creator-resume{display:flex;align-items:center;gap:14px;margin:0 0 14px}
.td-creator-resume p{margin:0 0 4px}
.td-creator-headline{font-size:14px}
.td-creator-bio{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.td-preview-actions .td-btn[aria-pressed=true]{border-color:#9de6bf;color:#c3f1d9}
.td-creator-back-label{font-size:14px;color:var(--td-muted)}
@media (min-width:600px){.td-creator-feed{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@media (min-width:1000px){.td-creator-feed{grid-template-columns:repeat(3,minmax(0,1fr))}}
.td-creator-profile-head{display:flex;align-items:center;gap:8px;margin:4px 0 12px;color:#f3f2ef}
/* A name in a directory card never breaks inside a word (the text-wrap check found "Wongwar|a" at 360px): the card's name block is the
   size container and the name shrinks with it, up to the usual 22px. Was: overflow-wrap:anywhere at a fixed 22px (20px under 350px). */
.td-portrait .td-identity{container-type:inline-size}
.td-portrait .td-identity h2{overflow-wrap:normal;word-break:normal;font-size:min(22px,19.5cqi)}
.td-portrait .td-identity h2 .td-word{white-space:nowrap}
/* Owner 31 Oct 2026 (B-14 option A): no bell or save button on the result card, so the name takes the whole column beside the avatar, on one line with … when it is longer, at the same size for every card (the full name is in the quick résumé and the profile). Was: name beside two 44 px buttons, broken mid-word (overflow-wrap). */.talent-page .td-creator-card h2{grid-column:2/-1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal}.td-creator-card{grid-template-columns:56px minmax(0,1fr);padding-right:12px}
/* BUG-51 (owner 31 Oct 2026): leave room above the selection tray so the last in-page controls are never covered on phones. */
body:has(.td-tray:not([hidden])) .talent-page{padding-bottom:calc(var(--shell-nav-clearance,84px) + 140px)}
/* BUG-56 (owner 31 Oct 2026, chevron rule 29 Oct): the directory's profile back is one chevron in the row of the actor's name, drawn like the
   shell's Home-origin chevron it replaces. Was: a floating text button at the top left. */
.td-name-return-row{display:flex;align-items:center;gap:8px;min-width:0;margin:22px 0 12px}.td-name-return-row>h1{min-width:0;margin:0!important;overflow-wrap:anywhere}
.td-return.td-inline-return{position:relative;inset:auto;z-index:4;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:8px;background:transparent;color:#f5f5f5;backdrop-filter:none;box-shadow:none}.td-return.td-inline-return[hidden]{display:none}.td-return.td-inline-return svg{width:22px;height:22px}.td-return.td-inline-return:hover{background:#ffffff08}.td-return.td-inline-return:focus-visible{outline:1px solid #b8c8bf;outline-offset:2px}
/* QA BUG-01 member side (1 Nov 2026): the in-page question before discarding edits (window.TosaaAsk in talent.js), made like the staff "ออกจากระบบ?" window: question, then ยกเลิก and the action side by side. */
.tosaa-ask{width:min(400px,calc(100% - 32px));padding:22px;border:1px solid #ffffff38;border-radius:18px;background:#1b201e;color:#f2efe9;font:inherit}.tosaa-ask::backdrop{background:#000a}.tosaa-ask h2{margin:0 0 18px;font-size:18px;font-weight:500;line-height:1.55;text-wrap:pretty;word-break:keep-all;overflow-wrap:anywhere}.tosaa-ask p{margin:0 0 18px;color:#b5b7b5;font-size:14px;line-height:1.7}.tosaa-ask-actions{display:flex;gap:10px}.tosaa-ask-actions .cw-btn{flex:1;font:inherit;font-size:13px}.tosaa-ask :focus-visible{outline:2px solid #d9e2b6;outline-offset:4px}
/* Fix round 11 Nov 2026 (item 112; tap area of at least 44x44 px, design/shared-navigation/verify-fix-1111-tap-targets.cjs): the directory's
   search button. Was: 36 wide. */
.td-search-submit{width:44px;min-width:44px}
/* Fix round 11 Nov 2026 (item 112; tap area of at least 44x44 px, design/shared-navigation/verify-fix-1111-tap-targets.cjs): the card's tick
   button sits 3 px higher, so its 44 px box no longer covers the top of "ดูโปรไฟล์" under it. Was: they overlapped by 3 px (320, 390). */
.td-portrait .td-topline{margin-bottom:3px}
/* Fix round 11 Nov 2026 (item 112): the ⓘ beside "อื่น ๆ" in the directory filter is 44 px wide; the margin keeps the icon in its place.
   Was: 40 wide. The right margin is -1 px, so the button ends at the card's outer border edge and the options row does not scroll sideways
   (verify-gender.cjs, 320 px). Was: -2 px, 1 px past the card. */
.td-gender-option .td-worktype-info{width:44px;margin-left:-10px;margin-right:-1px}/* Fix round 11 Nov 2026 item 184 part 3: the ⓘ button over the work-type row (outside its summary), at the heading's place: summary padding 12px 14px + 1px border. */
.td-role-picker-box{position:relative}.td-worktype-float{position:absolute;z-index:1;top:13px;left:15px;pointer-events:none}.td-worktype-float strong{visibility:hidden;display:block;font-size:14px;font-weight:500}.td-worktype-float .td-worktype-info{pointer-events:auto}
/* item 205 (fix round 11 Nov 2026, owner accepted): placeholder text in the actor search and its filter panel is #9a9da1, at least 5:1 on the field.
   Was: the browser default (#757575), 3.2 to 3.9:1 ("ค้นหาในนักแสดงเท่านั้น", "ชื่อ ทักษะ หรือผลงาน", "เช่น ภาพยนตร์, MV, ละครเวที"). */
.td-search input::placeholder,.td-dialog input::placeholder,.td-dialog textarea::placeholder{color:#9a9da1}
