.jcf-tctf-portal{position:relative;z-index:1;}
.jcf-tctf-portal{all:initial;display:block;font-family:'IBM Plex Sans',sans-serif;font-size:16px;line-height:1.65;color:#0D2444;background:#F0F4FA;box-sizing:border-box;}
.jcf-tctf-portal *{box-sizing:border-box;}
.jcf-tctf-portal{margin:0;padding:0;box-sizing:border-box}
.jcf-tctf-portal{
  /* Navy brand */
  --n:#0D2444;--n2:#1B3A6B;--n3:#2C4F8A;
  /* Gold accent */
  --g:#C9A84C;--g2:#F0D080;
  /* Page surfaces */
  --wh:#FFFFFF;--off:#F0F4FA;--soft:#E8EFF8;
  /* Semantic */
  --green:#1E6B3A;--lgreen:#DFF2E8;
  --red:#8B1A1A;--lred:#FDECEA;
  --amber:#5D4037;--lamber:#FFF8E1;
  --muted:#546E8A;--border:#C5D2EC;
  /* Input yellow */
  --input-bg:#FFFCE8;--input-border:#D4C870;
  /* Typography */
  --serif:'Playfair Display',serif;--sans:'IBM Plex Sans',sans-serif;--mono:'IBM Plex Mono',monospace;
  /* Sizing */
  --r:12px;--rl:16px;--fh:52px;--ffs:16px;--fpad:14px 16px;
}
.jcf-tctf-portal{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
.jcf-tctf-portal{font-family:var(--sans);color:var(--n2);background:#F0F4FA;font-size:16px;line-height:1.65;min-height:100vh}
.jcf-tctf-portal .topbar{background:var(--n);padding:.6rem 1rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:200;border-bottom:2px solid var(--g);flex-wrap:wrap;gap:.4rem}
.jcf-tctf-portal .topbar-brand{display:flex;align-items:center;gap:10px}
.jcf-tctf-portal .topbar-crest{width:38px;height:38px;border-radius:50%;background:var(--g);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;color:var(--n);font-size:12px;flex-shrink:0}
.jcf-tctf-portal .topbar-name{font-family:var(--serif);color:#fff;font-size:15px;line-height:1.1}
.jcf-tctf-portal .topbar-sub{font-size:10px;color:var(--g2);letter-spacing:.04em}
.jcf-tctf-portal .topbar-prdb{background:rgba(201,168,76,.15);border:1px solid rgba(201,168,76,.3);border-radius:6px;padding:4px 10px;text-align:center}
.jcf-tctf-portal .topbar-prdb-name{font-size:11px;font-weight:600;color:var(--g2)}
.jcf-tctf-portal .topbar-prdb-tag{font-size:9px;color:rgba(240,208,128,.6);letter-spacing:.06em;text-transform:uppercase}
.jcf-tctf-portal .topbar-right{font-size:11px;color:var(--g2);text-align:right}
.jcf-tctf-portal .topbar-right strong{display:block;color:#fff;font-size:12px}
@media(max-width:640px){.jcf-tctf-portal .topbar-prdb,.jcf-tctf-portal .topbar-right{display:none}}
.jcf-tctf-portal .nav-tabs{background:var(--n2);display:flex;overflow-x:auto;border-bottom:2px solid rgba(201,168,76,.2);-webkit-overflow-scrolling:touch;scrollbar-width:none}
.jcf-tctf-portal .nav-tabs::-webkit-scrollbar{display:none}
.jcf-tctf-portal .nav-tab{cursor:pointer!important;padding:.85rem 1rem;font-size:13px;font-weight:500;color:rgba(255,255,255,.55);cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent;transition:all .2s;user-select:none;display:flex;align-items:center;gap:5px;flex-shrink:0;min-height:50px;touch-action:manipulation}
.jcf-tctf-portal .nav-tab:hover{color:rgba(255,255,255,.85);background:rgba(255,255,255,.05)}
.jcf-tctf-portal .nav-tab.active{color:#fff;border-bottom-color:var(--g);background:rgba(255,255,255,.07)}
.jcf-tctf-portal .jcftctf-screen{display:none!important}
.jcf-tctf-portal .jcftctf-screen.active{display:block!important}
.jcf-tctf-portal .hero{background:var(--n);padding:2.5rem 1.25rem 2rem;position:relative;overflow:hidden}
.jcf-tctf-portal .hero::before{content:'';position:absolute;right:-60px;top:-60px;width:280px;height:280px;border-radius:50%;border:50px solid rgba(201,168,76,.06);pointer-events:none}
.jcf-tctf-portal .hero-inner{max-width:860px;margin:0 auto;position:relative;z-index:1}
.jcf-tctf-portal .hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.25);border-radius:20px;padding:4px 12px;font-size:11px;font-weight:600;color:var(--g2);letter-spacing:.07em;text-transform:uppercase;margin-bottom:.65rem}
.jcf-tctf-portal .hero h1{font-family:var(--serif);font-size:clamp(22px,5vw,36px);color:#fff;line-height:1.2;margin-bottom:.75rem}
.jcf-tctf-portal .hero h1 span{color:var(--g2)}
.jcf-tctf-portal .hero-desc{font-size:14px;color:rgba(255,255,255,.65);max-width:520px;line-height:1.7;margin-bottom:1.5rem}
.jcf-tctf-portal .hero-actions{display:flex;flex-wrap:wrap;gap:8px}
.jcf-tctf-portal .main{max-width:860px;margin:0 auto;padding:1.5rem 1rem 5rem}
.jcf-tctf-portal .btn{display:inline-flex;align-items:center;gap:6px;padding:13px 22px;border-radius:var(--r);font-family:var(--sans);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;border:1.5px solid transparent;text-decoration:none;min-height:50px;touch-action:manipulation}
.jcf-tctf-portal .btn-primary{background:var(--g);color:var(--n);border-color:var(--g)}
.jcf-tctf-portal .btn-primary:hover{background:var(--g2)}
.jcf-tctf-portal .btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.jcf-tctf-portal .btn-outline:hover{background:rgba(255,255,255,.08)}
.jcf-tctf-portal .btn-navy{background:var(--n2);color:#fff;border-color:var(--n3)}
.jcf-tctf-portal .btn-navy:hover{background:var(--n3)}
.jcf-tctf-portal .btn-green{background:var(--green);color:#fff}
.jcf-tctf-portal .btn-green:hover{opacity:.88}
.jcf-tctf-portal .btn-red{background:var(--red);color:#fff}
.jcf-tctf-portal .btn-red:hover{opacity:.85}
.jcf-tctf-portal .btn-sm{padding:10px 16px;font-size:13px;min-height:44px}
@media(max-width:480px){.jcf-tctf-portal .hero-actions .btn{flex:1;justify-content:center}}
.jcf-tctf-portal .card{background:#fff;border:1px solid var(--border);border-radius:var(--rl);overflow:hidden;margin-bottom:1.25rem;box-shadow:0 1px 4px rgba(13,36,68,.06)}
.jcf-tctf-portal .card-head{background:var(--n2);padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.jcf-tctf-portal .card-head-title{font-family:var(--serif);color:#fff;font-size:17px}
.jcf-tctf-portal .card-head-sub{font-size:11px;color:var(--g2)}
.jcf-tctf-portal .card-body{padding:1.5rem}
.jcf-tctf-portal .card-tag{background:rgba(201,168,76,.18);border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600;color:var(--g2);letter-spacing:.05em;text-transform:uppercase}
.jcf-tctf-portal .how-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.875rem}
@media(max-width:460px){.jcf-tctf-portal .how-grid{grid-template-columns:1fr 1fr}}
.jcf-tctf-portal .how-item{background:#fff;border-radius:var(--r);padding:1rem;border-left:3px solid var(--n2);border:1px solid var(--border);border-left:4px solid var(--n2)}
.jcf-tctf-portal .how-num{font-family:var(--mono);font-size:20px;font-weight:500;color:var(--n3);margin-bottom:.4rem}
.jcf-tctf-portal .how-title{font-weight:600;color:var(--n);font-size:13px;margin-bottom:3px}
.jcf-tctf-portal .how-desc{font-size:12px;color:var(--muted);line-height:1.5}
.jcf-tctf-portal .tier-ref-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px 12px;align-items:center;padding:11px 14px;border-radius:var(--r);margin-bottom:6px;font-size:14px}
@media(max-width:420px){.jcf-tctf-portal .tier-ref-row{grid-template-columns:auto 1fr auto;font-size:12px}}
.jcf-tctf-portal .status-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:.75rem}
.jcf-tctf-portal .status-form input{flex:1;min-width:200px;background:var(--soft);border:1.5px solid var(--border);border-radius:var(--r);padding:var(--fpad);font-size:var(--ffs);font-family:var(--sans);outline:none;transition:border-color .2s;height:var(--fh)}
.jcf-tctf-portal .status-form input:focus{border-color:var(--n2);background:#fff}
@media(max-width:480px){.jcf-tctf-portal .status-form{flex-direction:column}
.jcf-tctf-portal .status-form input,.jcf-tctf-portal .status-form .btn{width:100%;justify-content:center}}
.jcf-tctf-portal .sr{display:none;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-top:.875rem}
.jcf-tctf-portal .sr.show{display:block}
.jcf-tctf-portal .sr-head{padding:1rem 1.25rem;font-size:15px;font-weight:600}
.jcf-tctf-portal .sr-approved .sr-head{background:var(--lgreen);color:var(--green)}
.jcf-tctf-portal .sr-pending  .sr-head{background:#FFF3CD;color:#5D4037}
.jcf-tctf-portal .sr-rejected .sr-head{background:var(--lred);color:var(--red)}
.jcf-tctf-portal .sr-notfound .sr-head{background:var(--soft);color:var(--muted)}
.jcf-tctf-portal .sr-body{padding:1rem 1.25rem}
.jcf-tctf-portal .skv{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f0f0f0;font-size:15px;gap:.5rem}
.jcf-tctf-portal .skv:last-child{border-bottom:none}
.jcf-tctf-portal .skv-l{color:var(--muted);flex-shrink:0}
.jcf-tctf-portal .skv-v{font-weight:500;color:var(--n);text-align:right}
.jcf-tctf-portal .g2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.jcf-tctf-portal .g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.875rem}
@media(max-width:640px){.jcf-tctf-portal .g2{grid-template-columns:1fr}}
@media(max-width:560px){.jcf-tctf-portal .g3{grid-template-columns:1fr}}
.jcf-tctf-portal .field{display:flex;flex-direction:column;gap:6px}
.jcf-tctf-portal .field label{font-size:12px;font-weight:600;color:#4A5568;text-transform:uppercase;letter-spacing:.05em}
.jcf-tctf-portal .field input,.jcf-tctf-portal .field select,.jcf-tctf-portal .field textarea{
  background:#fffde7;border:1.5px solid #E2D9A0;border-radius:var(--r);
  padding:var(--fpad);font-size:var(--ffs);font-family:var(--sans);color:var(--n);
  outline:none;transition:border-color .2s,box-shadow .2s;width:100%;
  min-height:var(--fh);-webkit-appearance:none;appearance:none;
}
.jcf-tctf-portal .field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231B3A6B' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;padding-right:44px;
}
.jcf-tctf-portal .field input:focus,.jcf-tctf-portal .field select:focus,.jcf-tctf-portal .field textarea:focus{border-color:var(--n2);background:#fff;box-shadow:0 0 0 3px rgba(27,58,107,.08)}
.jcf-tctf-portal .field.req input,.jcf-tctf-portal .field.req select{border-left:4px solid var(--g)}
.jcf-tctf-portal .req-star{color:#c00;font-size:13px}
.jcf-tctf-portal .cb{border:1.5px solid var(--border);border-radius:var(--r);overflow:hidden;margin-bottom:.875rem}
.jcf-tctf-portal .cb:focus-within{border-color:var(--n3);box-shadow:0 0 0 3px rgba(27,58,107,.06)}
.jcf-tctf-portal .cb-head{background:#EFF3FB;padding:.75rem 1rem;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border)}
.jcf-tctf-portal .cb-num{width:26px;height:26px;border-radius:50%;background:var(--n2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.jcf-tctf-portal .cb-num.pdb{background:var(--amber)}
.jcf-tctf-portal .cb-title{font-size:14px;font-weight:600;color:var(--n)}
.jcf-tctf-portal .cb-body{padding:.875rem 1rem 1rem}
.jcf-tctf-portal .score-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:.875rem}
@media(max-width:540px){.jcf-tctf-portal .score-row{grid-template-columns:1fr 1fr}}
.jcf-tctf-portal .sc{display:flex;flex-direction:column;gap:5px}
.jcf-tctf-portal .sc label{font-size:11px;font-weight:600;color:#4A5568;text-transform:uppercase;letter-spacing:.05em}
.jcf-tctf-portal .sc select{
  background:var(--input-bg);border:1.5px solid var(--input-border);border-radius:8px;
  padding:10px 10px;font-size:15px;font-family:var(--sans);width:100%;
  min-height:48px;-webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%231B3A6B' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;padding-right:32px;
}
.jcf-tctf-portal .cs-disp{background:var(--lgreen);border:1.5px solid #c0dd97;border-radius:8px;padding:10px;font-size:16px;font-weight:700;color:var(--green);text-align:center;min-height:48px;display:flex;align-items:center;justify-content:center;cursor:not-allowed;user-select:none}
.jcf-tctf-portal .calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:1rem}
.jcf-tctf-portal .cc{border-radius:var(--r);padding:.875rem 1rem;border:1.5px solid}
.jcf-tctf-portal .cc.tci{background:#e6f1fb;border-color:#b5d4f4}
.jcf-tctf-portal .cc.tier{background:#fff;border-color:#B8C9E8}
.jcf-tctf-portal .cc.mult{background:var(--lgreen);border-color:#c0dd97}
.jcf-tctf-portal .cc.pdb{background:#FFF8E1;border-color:#FFD54F}
.jcf-tctf-portal .cc.dorm{background:#FFF8E1;border-color:#F9A825}
.jcf-tctf-portal .cc-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px}
.jcf-tctf-portal .cc-value{font-size:20px;font-weight:700;color:var(--n);font-family:var(--mono)}
.jcf-tctf-portal .cc.tci .cc-value{font-size:26px;color:var(--n2)}
.jcf-tctf-portal .cc.mult .cc-value{color:var(--green)}
.jcf-tctf-portal .cc-note{font-size:10px;color:var(--green);margin-top:3px}
.jcf-tctf-portal .breakdown{background:#F7F9FF;border:1px solid #C5D2EC;border-radius:var(--r);overflow:hidden;margin-top:1rem}
.jcf-tctf-portal .bd-title{background:var(--n2);color:var(--g2);font-size:12px;font-weight:600;padding:.5rem 1rem;letter-spacing:.04em}
.jcf-tctf-portal .bd-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #eef0f8;font-size:13px;flex-wrap:wrap;gap:4px}
.jcf-tctf-portal .bd-row:last-child{border-bottom:none;background:#fff;font-weight:700;color:var(--n2);font-size:14px}
.jcf-tctf-portal .bd-l{color:var(--n);flex:1}
.jcf-tctf-portal .bd-r{text-align:right;flex-shrink:0}
.jcf-tctf-portal .bd-f{font-family:var(--mono);font-size:11px;color:var(--muted)}
.jcf-tctf-portal .bd-s{font-weight:700;color:var(--n2);font-family:var(--mono)}
.jcf-tctf-portal .bd-pdb .bd-l{color:#5D4037}
.jcf-tctf-portal .bd-pdb .bd-s{color:#5D4037}
.jcf-tctf-portal .tbar{margin-top:1rem}
.jcf-tctf-portal .tbar-lbl{font-size:12px;font-weight:600;color:var(--n);margin-bottom:.4rem}
.jcf-tctf-portal .tbar-track{display:flex;gap:3px;height:22px;border-radius:8px;overflow:hidden}
.jcf-tctf-portal .ts{flex:1;transition:opacity .3s}
.jcf-tctf-portal .tbar-labels{display:flex;justify-content:space-between;margin-top:6px;font-size:10px;color:var(--muted)}
.jcf-tctf-portal .gate{background:var(--n);border-radius:var(--rl);padding:2rem 1.5rem;text-align:center;max-width:420px;margin:1.5rem auto}
@media(max-width:460px){.jcf-tctf-portal .gate{margin:1rem .5rem;border-radius:var(--r)}}
.jcf-tctf-portal .gate-icon{width:56px;height:56px;border-radius:50%;background:rgba(201,168,76,.15);border:2px solid var(--g);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:24px}
.jcf-tctf-portal .gate h3{font-family:var(--serif);color:#fff;margin-bottom:.4rem;font-size:20px}
.jcf-tctf-portal .gate p{font-size:13px;color:rgba(255,255,255,.55);margin-bottom:1rem;line-height:1.6}
.jcf-tctf-portal .gate input{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:var(--r);padding:14px 16px;font-size:17px;color:#fff;width:100%;outline:none;font-family:var(--mono);text-align:center;letter-spacing:.2em;margin-bottom:.65rem;transition:border-color .2s;min-height:54px}
.jcf-tctf-portal .gate input:focus{border-color:var(--g)}
.jcf-tctf-portal .gate input::placeholder{color:rgba(255,255,255,.25);letter-spacing:.05em}
.jcf-tctf-portal .gate-err{font-size:12px;color:#f09595;min-height:18px;margin-top:.25rem}
.jcf-tctf-portal .success-screen{display:none;text-align:center;padding:2.5rem 1rem}
.jcf-tctf-portal .success-screen.show{display:block}
.jcf-tctf-portal .success-check{width:70px;height:70px;border-radius:50%;background:var(--lgreen);border:3px solid var(--green);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:30px;color:var(--green)}
.jcf-tctf-portal .success-screen h2{font-family:var(--serif);color:var(--n);margin-bottom:.65rem}
.jcf-tctf-portal .success-screen p{font-size:14px;color:var(--muted);max-width:400px;margin:0 auto .65rem;line-height:1.7}
.jcf-tctf-portal .success-ref{font-family:var(--mono);font-size:14px;background:var(--soft);border:1px solid var(--border);border-radius:var(--r);padding:.5rem 1rem;display:inline-block;margin:.875rem 0;color:var(--n2)}
.jcf-tctf-portal .decl{background:#F0F5FF;border:1.5px solid #C5D2EC;border-radius:var(--r);padding:1rem 1.25rem}
.jcf-tctf-portal .decl-check{display:flex;align-items:flex-start;gap:12px;cursor:pointer}
.jcf-tctf-portal .decl-check input[type=checkbox]{width:20px;height:20px;margin-top:2px;flex-shrink:0;accent-color:var(--n2)}
.jcf-tctf-portal .decl-text{font-size:14px;color:#444;line-height:1.65}
.jcf-tctf-portal .submit-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:1.25rem;padding:1.25rem;background:#fff;border-radius:var(--r);border:1px solid var(--border)}
.jcf-tctf-portal .submit-note{font-size:12px;color:var(--muted);max-width:360px}
.jcf-tctf-portal .btn-submit{background:var(--n2);color:#fff;border:none;border-radius:var(--r);padding:14px 32px;font-family:var(--sans);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;min-height:54px;touch-action:manipulation;width:100%}
.jcf-tctf-portal .btn-submit:hover{background:var(--n3)}
@media(min-width:500px){.jcf-tctf-portal .btn-submit{width:auto}}
.jcf-tctf-portal .calc-pg-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
@media(max-width:700px){.jcf-tctf-portal .calc-pg-grid{grid-template-columns:1fr}}
.jcf-tctf-portal .cpanel{background:#fff;border:1px solid var(--border);border-radius:var(--rl);overflow:hidden}
.jcf-tctf-portal .cpanel-sticky{position:sticky;top:80px}
.jcf-tctf-portal .cpanel-head{background:var(--n2);padding:.875rem 1.25rem}
.jcf-tctf-portal .cpanel-head h3{font-family:var(--serif);color:#fff;font-size:16px}
.jcf-tctf-portal .cpanel-head p{font-size:12px;color:var(--g2);margin-top:2px}
.jcf-tctf-portal .cpanel-body{padding:1.25rem}
.jcf-tctf-portal .mx-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:1rem}
.jcf-tctf-portal .mx-card{border-radius:8px;padding:.65rem .875rem;border:1px solid;text-align:center}
.jcf-tctf-portal .mx-card.ov{background:#e2f0e8;border-color:#c0dd97}
.jcf-tctf-portal .mx-card.cv{background:#e6f1fb;border-color:#b5d4f4}
.jcf-tctf-portal .mx-card.ex{background:var(--soft);border-color:var(--border)}
.jcf-tctf-portal .mx-card.jcf{background:var(--soft);border-color:var(--border)}
.jcf-tctf-portal .mx-val{font-size:18px;font-weight:700}
.jcf-tctf-portal .mx-desc{font-size:11px;color:var(--muted);margin-top:3px}
.jcf-tctf-portal .rtci-wrap{text-align:center;padding:1.5rem 1rem;border-bottom:1px solid var(--border)}
.jcf-tctf-portal .rtci-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.25rem}
.jcf-tctf-portal .rtci-score{font-family:var(--mono);font-size:48px;font-weight:700;color:var(--n2);line-height:1}
.jcf-tctf-portal .rtci-tier{font-size:16px;font-weight:600;margin-top:.4rem}
.jcf-tctf-portal .rtci-mult{font-size:13px;color:var(--green);margin-top:2px;font-family:var(--mono);font-weight:600}
.jcf-tctf-portal .rd-section{padding:1rem 1.25rem}
.jcf-tctf-portal .rd-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:14px}
.jcf-tctf-portal .rd-row:last-child{border-bottom:none}
.jcf-tctf-portal .rd-l{color:var(--muted)}
.jcf-tctf-portal .rd-v{font-weight:600;color:var(--n);font-family:var(--mono)}
.jcf-tctf-portal .calc-comp{border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-bottom:.875rem}
.jcf-tctf-portal .calc-comp-head{background:#EFF3FB;padding:.65rem 1rem;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border)}
.jcf-tctf-portal .ccn{width:24px;height:24px;border-radius:50%;background:var(--n2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.jcf-tctf-portal .ccn.pdb{background:var(--amber)}
.jcf-tctf-portal .calc-comp-body{padding:.875rem 1rem 1rem}
.jcf-tctf-portal .cscore-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:.65rem}
@media(max-width:480px){.jcf-tctf-portal .cscore-row{grid-template-columns:1fr 1fr}}
.jcf-tctf-portal .scoring-guide{background:#EFF3FB;border:1.5px solid #C5D2EC;border-radius:var(--r);padding:.875rem 1rem;margin-bottom:1rem;font-size:13px;line-height:1.8}
.jcf-tctf-portal .prdb-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.875rem;margin-bottom:1.25rem}
.jcf-tctf-portal .prdb-kpi{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:1rem;border-top:3px solid var(--n2)}
.jcf-tctf-portal .prdb-kpi-val{font-family:var(--mono);font-size:28px;font-weight:700;color:var(--n2)}
.jcf-tctf-portal .prdb-kpi-label{font-size:12px;color:var(--muted);margin-top:3px}
.jcf-tctf-portal .prdb-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}
.jcf-tctf-portal .prdb-filters{display:flex;gap:6px;flex-wrap:wrap}
.jcf-tctf-portal .ftab{padding:8px 14px;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;border:1.5px solid var(--border);background:#fff;color:var(--n2);font-weight:600;transition:all .2s;min-height:40px;touch-action:manipulation}
.jcf-tctf-portal .ftab.active{background:var(--n2);color:#fff;border-color:var(--n2)}
.jcf-tctf-portal .prdb-search{display:flex;gap:6px}
.jcf-tctf-portal .prdb-search input{background:var(--soft);border:1px solid var(--border);border-radius:var(--r);padding:8px 12px;font-size:14px;font-family:var(--sans);outline:none;width:200px;min-height:44px}
@media(max-width:560px){.jcf-tctf-portal .prdb-toolbar{flex-direction:column;align-items:stretch}
.jcf-tctf-portal .prdb-search{flex-direction:column}
.jcf-tctf-portal .prdb-search input{width:100%}}
.jcf-tctf-portal .ptable-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r);-webkit-overflow-scrolling:touch}
.jcf-tctf-portal .ptable{width:100%;border-collapse:collapse;font-size:14px;min-width:700px}
.jcf-tctf-portal .ptable th{background:var(--n2);color:#fff;padding:10px 12px;text-align:left;font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.jcf-tctf-portal .ptable td{padding:10px 12px;border-bottom:1px solid #eef0f8;vertical-align:middle}
.jcf-tctf-portal .ptable tr:last-child td{border-bottom:none}
.jcf-tctf-portal .ptable tr:nth-child(even) td{background:#F4F7FF}
.jcf-tctf-portal .ptable tr:hover td{background:#f0f4ff}
.jcf-tctf-portal .tier-pill{display:inline-block;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:700;color:#fff;white-space:nowrap}
.jcf-tctf-portal .sp{display:inline-block;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.jcf-tctf-portal .sp-pending{background:var(--lamber);color:var(--amber)}
.jcf-tctf-portal .sp-approved{background:var(--lgreen);color:var(--green)}
.jcf-tctf-portal .sp-rejected{background:var(--lred);color:var(--red)}
.jcf-tctf-portal .sp-supervisor{background:#EDE7F6;color:#4527A0}
.jcf-tctf-portal .sp-returned{background:#FFF3CD;color:#E65100}
.jcf-tctf-portal .detail-row{display:none}
.jcf-tctf-portal .detail-row.show{display:table-row}
.jcf-tctf-portal .detail-panel{background:#F7F9FF;border-top:1px solid #C5D2EC;padding:1.25rem}
.jcf-tctf-portal .detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.875rem}
@media(max-width:600px){.jcf-tctf-portal .detail-grid{grid-template-columns:1fr}}
.jcf-tctf-portal .detail-sub{font-size:12px;font-weight:600;color:var(--n2);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}
.jcf-tctf-portal .dtable{width:100%;border-collapse:collapse;font-size:13px}
.jcf-tctf-portal .dtable th{background:var(--soft);padding:7px 10px;font-weight:500;color:var(--muted);text-align:left}
.jcf-tctf-portal .dtable td{padding:7px 10px;border-bottom:1px solid #eef0f8}
.jcf-tctf-portal .action-row{display:flex;gap:8px;margin-top:.875rem;flex-wrap:wrap;align-items:center}
.jcf-tctf-portal .action-row textarea{flex:1;min-width:200px;background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:10px 12px;font-size:14px;font-family:var(--sans);resize:none;height:64px;outline:none}
.jcf-tctf-portal .export-bar{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:.875rem 1rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.65rem;margin-bottom:1rem}
.jcf-tctf-portal .sc-card{background:var(--soft);border:1px solid var(--border);border-radius:var(--r);padding:1.25rem}
.jcf-tctf-portal .sc-code{font-family:var(--mono);font-size:15px;font-weight:600;color:var(--n2);background:#fff;border:1px solid var(--border);border-radius:6px;padding:.4rem 1rem;display:inline-block;margin-bottom:.5rem;cursor:pointer;transition:background .2s;min-height:44px;display:flex;align-items:center;touch-action:manipulation}
.jcf-tctf-portal .sc-code:hover{background:var(--n2);color:#fff}
.jcf-tctf-portal .sc-title{font-size:14px;font-weight:600;color:var(--n);margin-bottom:.25rem}
.jcf-tctf-portal .sc-desc{font-size:13px;color:var(--muted);line-height:1.5}
.jcf-tctf-portal .sc-where{font-size:12px;color:var(--green);margin-top:.35rem;font-weight:500}
.jcf-tctf-portal .copy-toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);background:var(--n);color:var(--g2);padding:.5rem 1.25rem;border-radius:20px;font-size:13px;font-weight:500;opacity:0;transition:opacity .3s;pointer-events:none;z-index:999}
.jcf-tctf-portal .copy-toast.show{opacity:1}
.jcf-tctf-portal .prdb-empty{padding:3rem;text-align:center;color:var(--muted);font-size:14px;border:1px solid var(--border);border-radius:var(--r);background:#fff;margin-top:.5rem}
.jcf-tctf-portal .footer{background:var(--n);padding:1.75rem;text-align:center}
.jcf-tctf-portal .footer p{font-size:12px;color:rgba(255,255,255,.4);line-height:1.8}
.jcf-tctf-portal .footer strong{color:var(--g2)}
.jcf-tctf-portal .tip{position:relative;display:inline-flex;align-items:center;cursor:help;margin-left:4px}
.jcf-tctf-portal .tip-icon{width:16px;height:16px;border-radius:50%;background:var(--n3);color:#fff;font-size:9px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-style:normal}
.jcf-tctf-portal .tip-box{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#1a1a2e;color:#fff;font-size:12px;line-height:1.5;padding:8px 12px;border-radius:8px;width:220px;z-index:1000;pointer-events:none;opacity:0;transition:opacity .2s;font-weight:400;font-style:normal;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.jcf-tctf-portal .tip-box::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#1a1a2e}
.jcf-tctf-portal .tip:hover .tip-box,.jcf-tctf-portal .tip:focus .tip-box{opacity:1}
@media(max-width:480px){.jcf-tctf-portal .tip-box{width:180px;left:auto;right:0;transform:none}
.jcf-tctf-portal .tip-box::after{left:auto;right:12px;transform:none}}
@media print{.jcf-tctf-portal .topbar,.jcf-tctf-portal .nav-tabs,.jcf-tctf-portal .prdb-toolbar,.jcf-tctf-portal .action-row,.jcf-tctf-portal .btn,.jcf-tctf-portal .export-bar,.jcf-tctf-portal .prdb-itab,.jcf-tctf-portal .prdb-kpis{display:none!important}
.jcf-tctf-portal .page{display:block!important}
.jcf-tctf-portal .card{box-shadow:none!important;border:1px solid #ccc!important}
.jcf-tctf-portal #prdb-panel-review{display:none!important}
.jcf-tctf-portal{background:#fff!important;color:#000!important}
.jcf-tctf-portal .ptable th{background:#1B3A6B!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.jcf-tctf-portal .prdb-itab:hover{background:var(--soft)}