/* ===== T-4OO 体験デモ 操作レイヤー ===== */
/* 背景フォールバック（基礎CSSの読込遅延時に黒背景になるのを防ぐ） */
html,body,#memberspls{background:#fff !important;}

.t4d-overlay{position:fixed;inset:0;background:rgba(4,63,111,.35);display:flex;align-items:center;justify-content:center;z-index:9000;}
.t4d-card{background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.25);animation:t4dpop .22s ease;}
@keyframes t4dpop{from{opacity:0;transform:translateY(10px) scale(.98);}to{opacity:1;transform:none;}}
@keyframes t4dspin{to{transform:rotate(360deg);}}
@keyframes t4dfade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

/* file picker */
.t4d-picker{width:520px;max-width:92vw;overflow:hidden;}
.t4d-picker__head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #E6E8EC;}
.t4d-picker__head h3{margin:0;font-size:16px;font-weight:700;color:#313131;}
.t4d-picker__body{padding:12px 16px 18px;}
.t4d-picker__note{font-size:12.5px;color:#717172;padding:4px 6px 12px;}
.t4d-file{display:flex;align-items:center;gap:14px;padding:14px 12px;border:1px solid #E6E8EC;border-radius:10px;margin-bottom:10px;cursor:pointer;transition:.15s;}
.t4d-file:hover{border-color:#358CD5;background:#F8F9FB;}
.t4d-file:last-child{margin-bottom:0;}
.t4d-doc{width:40px;height:50px;flex:none;background:#fff;border:1px solid #E6E8EC;border-radius:5px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;}
.t4d-doc span{color:#fff;font-size:8px;font-weight:700;text-align:center;padding:2px 0;}
.t4d-file__name{font-size:14.5px;font-weight:700;color:#313131;}
.t4d-file__meta{font-size:12px;color:#717172;margin-top:3px;}
.t4d-file__go{color:#1763A2;font-size:13px;font-weight:700;white-space:nowrap;}

/* selected chip */
.t4d-chip{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #C9E6FF;border-radius:10px;padding:14px 18px;width:100%;box-sizing:border-box;box-shadow:0 1px 4px rgba(0,0,0,.05);animation:t4dpop .22s ease;}
.t4d-chip__name{font-size:15px;font-weight:700;color:#313131;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.t4d-chip__meta{font-size:12px;color:#717172;margin-top:4px;}
.t4d-chip__x{width:22px;height:22px;cursor:pointer;flex:none;}

/* progress */
.t4d-prog{width:440px;max-width:92vw;padding:30px 32px;}
.t4d-prog__head{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:17px;font-weight:700;color:#313131;}
.t4d-spin{width:26px;height:26px;border:3px solid #C9E6FF;border-top-color:#1763A2;border-radius:50%;display:inline-block;animation:t4dspin .8s linear infinite;}
.t4d-prog__file{font-size:13px;color:#717172;margin-bottom:8px;}
.t4d-bar{height:10px;background:#EEF7FF;border-radius:6px;overflow:hidden;}
.t4d-bar__fill{height:100%;width:0;background:linear-gradient(90deg,#1763A2,#358CD5);border-radius:6px;transition:width .18s ease;}
.t4d-prog__row{display:flex;align-items:center;justify-content:space-between;margin-top:10px;font-size:13px;color:#1763A2;}

/* result */
.t4d-result{position:fixed;inset:0;background:#fff;z-index:9000;display:flex;flex-direction:column;animation:t4dfade .25s ease;}
.t4d-result__head{flex:none;border-bottom:1px solid #E6E8EC;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.t4d-result__left{display:flex;align-items:center;gap:12px;min-width:0;}
.t4d-back{display:flex;align-items:center;gap:5px;color:#1763A2;font-size:14px;cursor:pointer;white-space:nowrap;}
.t4d-result__title{font-size:17px;font-weight:700;color:#313131;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.t4d-tag{font-size:12px;border-radius:5px;padding:3px 10px;white-space:nowrap;}
.t4d-tag--pair{background:#EEF7FF;color:#1763A2;font-weight:700;}
.t4d-tag--field{background:#F2F3F5;color:#626263;}
.t4d-btn{display:flex;align-items:center;gap:6px;border-radius:8px;padding:9px 20px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;border:none;}
.t4d-btn--ghost{border:1px solid #1763A2;color:#1763A2;background:#fff;}
.t4d-btn--ghost:hover{background:#EEF7FF;}
.t4d-btn--primary{background:#1763A2;color:#fff;}
.t4d-btn--primary:hover{background:#358CD5;}
.t4d-legend{flex:none;display:flex;align-items:center;gap:18px;padding:10px 24px;background:#F8F9FB;border-bottom:1px solid #E6E8EC;font-size:12.5px;color:#626263;}
.t4d-legend span{display:flex;align-items:center;gap:6px;}
.t4d-swatch{display:inline-block;width:13px;height:13px;background:#FFF3C4;border:1px solid #E9C64B;border-radius:3px;}
.t4d-table{flex:1;overflow-y:auto;}
.t4d-thead{display:flex;position:sticky;top:0;background:#fff;z-index:1;border-bottom:2px solid #E6E8EC;}
.t4d-thead>div{padding:12px 16px;font-size:13px;font-weight:700;}
.t4d-c-no{width:54px;flex:none;text-align:center;color:#B3B9C6;}
.t4d-c-src{flex:1;color:#626263;}
.t4d-c-tgt{flex:1;color:#1763A2;border-left:1px solid #E6E8EC;}
.t4d-row{display:flex;border-bottom:1px solid #EEF7FF;animation:t4dfade .3s ease;}
.t4d-row:hover{background:#F8F9FB;}
.t4d-row>.t4d-c-no{padding:16px 0;font-size:13px;color:#B3B9C6;font-weight:400;}
.t4d-row>.t4d-c-src,.t4d-row>.t4d-c-tgt{padding:16px;font-size:14.5px;line-height:1.85;color:#313131;font-weight:400;}
.t4d-row>.t4d-c-tgt{border-left:1px solid #EEF7FF;}
mark.t4d-term{background:#FFF3C4;border-bottom:1px solid #E9C64B;border-radius:2px;padding:0 1px;color:inherit;cursor:help;}

/* 専門分野設定ダイアログ — 実CSS（custom-dialog）を使用。位置決めのみJSでインライン指定 */
.custom-setting-kyukyoku-category .ui-dialog-buttonpane{flex:none;}
.custom-setting-kyukyoku-category #setting-kyukyoku-category-select{overflow-y:auto;}
.t4d-tree-row{display:flex;align-items:center;gap:8px;padding:6px 4px;font-size:14px;font-weight:700;color:#1763A2;cursor:pointer;border-radius:4px;}
.t4d-tree-row:hover{background:#F8F9FB;}
.t4d-tree-arrow{color:#1763A2;font-weight:700;font-size:16px;width:16px;text-align:center;cursor:pointer;display:inline-block;transition:transform .15s;}
.t4d-tree-arrow.t4d-open{transform:rotate(90deg);}
.t4d-tree-dots{color:#B3B9C6;width:16px;text-align:center;font-size:12px;}
.t4d-node-label{padding:1px 4px;}
.t4d-node-label.t4d-selected{outline:1.5px solid #313131;}
#orgTree a.t4d-selected{outline:1.5px solid #313131;}
#orgTree{max-height:380px;overflow-y:auto;display:block;}
.t4d-tree-note{font-size:12.5px;color:#B3B9C6;font-weight:400;padding:4px 0;}
.t4d-hist-item{cursor:pointer;color:#1763A2;font-size:15px;line-height:2;}

/* ultra confirm dialog centering (revived jQuery-UI dialog) */
.t4d-ultra-ov{z-index:8900;}
.stf-ultra-confirm-dialog.t4d-ultra-center{position:fixed !important;left:50% !important;top:50% !important;transform:translate(-50%,-50%);z-index:9100 !important;margin:0 !important;}
.stf-ultra-confirm-dialog.t4d-ultra-center .ui-dialog-titlebar{display:none;}

/* revived dialogs: full-screen wrapper, inner content centers itself via flex */
.t4d-fullscreen{position:fixed !important;inset:0 !important;left:0 !important;top:0 !important;transform:none !important;width:100vw !important;height:100vh !important;max-height:none !important;margin:0 !important;z-index:9100 !important;display:flex !important;align-items:center;justify-content:center;background:transparent !important;border:none !important;border-radius:0 !important;box-shadow:none !important;padding:0 !important;overflow:visible !important;}
.t4d-fullscreen > .ui-dialog-titlebar{display:none;}
.t4d-fullscreen[aria-describedby="announcement-dialog"] > .ui-dialog-titlebar{display:block;position:absolute;top:0;left:0;right:0;z-index:2;}
.t4d-fullscreen .stf-ocr-dialog-content,
.t4d-fullscreen .announcement-modal__content-wrap{background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.25);max-height:88vh;overflow-y:auto;}
.t4d-wrap-center{position:fixed !important;left:50% !important;top:50% !important;transform:translate(-50%,-50%);z-index:9100 !important;margin:0 !important;max-height:90vh;overflow-y:auto;background:#fff;border-radius:12px;}
.t4d-wrap-center > .ui-dialog-titlebar{display:none;}
.t4d-s2-drop{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:600;display:block;}
.t4d-s2-drop .select2-dropdown{border:1px solid #C0C5D0;border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.15);}
.t4d-s2-group strong{display:block;padding:8px 10px 4px;color:#717172;font-size:12px;}
.t4d-s2-opt{padding:8px 12px;font-size:14px;cursor:pointer;}
.t4d-s2-opt[aria-disabled="true"]{color:#C0C5D0;cursor:default;}
.t4d-s2-opt.select2-results__option--highlighted{background:#EEF7FF;color:#1763A2;}

/* tutorial spotlight */
.t4d-tut-overlay{position:fixed;inset:0;background:rgba(30,35,42,.55);z-index:8000;}
.t4d-tut-target{position:relative;z-index:8010 !important;animation:t4dglow 1.4s ease-in-out infinite;border-radius:6px;}
.t4d-tut-soft{position:relative;z-index:8010 !important;animation:t4dglow 1.4s ease-in-out infinite;border-radius:8px;}
.t4d-tut-lift{position:relative;z-index:8010 !important;background:#fff;}
.t4d-tip-behind{z-index:8006 !important;}
.t4d-btn-disabled{background:#F2F3F5 !important;color:#C0C5D0 !important;cursor:not-allowed !important;}
@keyframes t4dglow{0%,100%{box-shadow:0 0 0 4px rgba(90,180,255,.35),0 0 18px 6px rgba(90,180,255,.55);}50%{box-shadow:0 0 0 8px rgba(90,180,255,.2),0 0 30px 10px rgba(90,180,255,.75);}}
.t4d-tut-tip{position:fixed;z-index:9300;background:#043F6F;color:#fff;font-size:14px;font-weight:700;padding:12px 18px;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.35);display:flex;align-items:center;gap:10px;animation:t4dpop .3s ease;max-width:520px;}
.t4d-tut-tip::before{content:"";position:absolute;top:-7px;left:28px;border:7px solid transparent;border-bottom-color:#043F6F;border-top:none;}
.t4d-tut-tip.t4d-above::before{top:auto;bottom:-7px;border-bottom:none;border-top:7px solid #043F6F;}
.t4d-tut-step{background:#5AB4FF;color:#043F6F;border-radius:5px;padding:2px 8px;font-size:11.5px;letter-spacing:.04em;}

/* tutorial: 分野ダイアログ内で契約書以外を選択不可表示 */
.t4d-tut-lock #orgTree a[onclick*="setField"]:not(.t4d-tut-target){opacity:.35;}
.t4d-tut-lock .bunya-auto,
.t4d-tut-lock .select-all-bunya-list li,
.t4d-tut-lock .t4d-hist-item,
.t4d-tut-lock .bunya-item-history{opacity:.35;}

@keyframes t4dfall{to{transform:translateY(110vh) rotate(720deg);opacity:.7;}}

/* welcome (tutorial start) */
.t4d-welcome{position:fixed;inset:0;background:rgba(4,26,45,.66);backdrop-filter:blur(2px);z-index:8800;display:flex;align-items:center;justify-content:center;}
.t4d-welcome-card{position:relative;width:480px;max-width:92vw;background:#fff;border-radius:16px;padding:30px 40px 24px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.45);animation:t4dpop .35s ease;}
.t4d-welcome-x{position:absolute;top:14px;right:16px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;color:#626263;font-size:17px;}
.t4d-welcome-x:hover{background:#F2F3F5;}
.t4d-welcome-badge{display:inline-block;background:#5AB4FF;color:#043F6F;font-weight:700;border-radius:999px;padding:4px 14px;font-size:11.5px;letter-spacing:.06em;margin-bottom:12px;}
.t4d-welcome-title{font-size:20px;font-weight:700;color:#043F6F;margin-bottom:8px;}
.t4d-welcome-desc{font-size:13.5px;color:#626263;line-height:1.8;margin-bottom:18px;}
.t4d-welcome-start{width:100%;background:#1763A2;color:#fff;border:none;border-radius:10px;padding:14px 0;font-size:15.5px;font-weight:700;cursor:pointer;animation:t4dglow 1.6s ease-in-out infinite;}
.t4d-welcome-start:hover{background:#358CD5;}
.t4d-welcome-note{margin-top:12px;font-size:11.5px;color:#B3B9C6;}

/* demo pill + toast */
.t4d-pill{position:fixed;left:18px;bottom:18px;z-index:8500;display:flex;align-items:center;gap:10px;background:#043F6F;color:#fff;border-radius:999px;padding:8px 8px 8px 14px;font-size:12.5px;box-shadow:0 6px 24px rgba(0,0,0,.22);}
.t4d-pill b{font-weight:700;letter-spacing:.03em;}
.t4d-pill button{border:none;background:#5AB4FF;color:#043F6F;font-weight:700;border-radius:999px;padding:5px 12px;font-size:12px;cursor:pointer;}
.t4d-toast{position:fixed;bottom:70px;left:50%;transform:translateX(-50%);background:#043F6F;color:#fff;padding:12px 22px;border-radius:10px;font-size:13.5px;box-shadow:0 8px 30px rgba(0,0,0,.25);z-index:9500;animation:t4dpop .2s ease;}
