/* JFR Gateway V2.5.7 — requested-only fixes: resume order/layout, portal publish status, interview management, job IDs/担当 */

/* Resume Creator order/spacing */
.v257-resume-order .ai-writer{margin-bottom:12px}
.v257-resume-order label.v257-ai-output{background:linear-gradient(180deg,#f9fdff,#f4fbfd);border:1px solid #cfeaf0;border-radius:12px;padding:10px}
.v257-resume-order label.v257-ai-output textarea{min-height:132px;background:#fff}
.v257-resume-order .v25611-export-suite{margin-top:16px;grid-column:1/-1}
.v257-resume-order .v25611-export-suite .master-excel-head b{font-size:14px}
.v257-resume-order .v25611-export-suite .master-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
.v257-resume-order .v25611-export-suite .master-actions>a{grid-column:1/-1}
.v257-resume-order .v25611-export-suite .master-status{grid-column:1/-1}
@media(max-width:760px){
  .v257-resume-order .v25611-export-suite .master-actions{grid-template-columns:1fr}
  .v257-resume-order label.v257-ai-output textarea{min-height:150px}
}

/* Interview management */
.v257-interview-shell{display:grid;gap:15px}
.v257-interview-section{border:1px solid #d9e8ee;background:linear-gradient(180deg,#fbfeff,#f7fbfc);border-radius:18px;padding:14px;box-shadow:0 10px 30px rgba(7,70,96,.06)}
.v257-interview-section.upcoming{border-color:#a7dfe9;background:linear-gradient(180deg,#f5fdff,#fff)}
.v257-interview-section.completed{border-color:#cde6d7;background:linear-gradient(180deg,#f7fdf9,#fff)}
.v257-interview-section.cancelled{border-color:#f0d2d7;background:linear-gradient(180deg,#fff9fa,#fff)}
.v257-interview-section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.v257-interview-section-head h3{margin:0;font-size:16px;color:#113b50}
.v257-interview-section-head p{margin:4px 0 0;color:var(--muted);font-size:9px}
.v257-interview-count{min-width:36px;height:30px;border-radius:999px;background:#e7f7fb;color:#0a738d;display:grid;place-items:center;font-weight:800;font-size:11px;padding:0 9px}
.v257-interview-month{margin-top:13px}
.v257-interview-month:first-of-type{margin-top:2px}
.v257-interview-month-title{display:flex;align-items:center;gap:8px;color:#557184;font-size:10px;font-weight:800;letter-spacing:.04em;margin:0 0 8px}
.v257-interview-month-title:after{content:"";height:1px;background:#dcebf0;flex:1}
.v257-interview-list{display:grid;gap:9px}
.v257-interview-card{background:#fff;border:1px solid #deeaef;border-radius:15px;padding:12px;box-shadow:0 6px 18px rgba(16,72,95,.05);transition:.18s ease}
.v257-interview-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(16,72,95,.09);border-color:#b9dfe7}
.v257-interview-main{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:12px;align-items:start}
.v257-interview-date{border-radius:13px;padding:10px;background:linear-gradient(135deg,#e9f9fd,#f8fdff);border:1px solid #cbeaf1;text-align:center}
.v257-interview-date strong{display:block;font-size:14px;color:#0a5068}
.v257-interview-date span{display:block;font-size:10px;color:#668092;margin-top:3px}
.v257-interview-company h4{margin:0;color:#12384b;font-size:14px}
.v257-interview-company small{display:block;margin-top:4px;color:#718595;font-size:9px;line-height:1.5}
.v257-interview-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.v257-interview-chip{font-size:8px;padding:4px 7px;border-radius:999px;background:#eef7fa;color:#3d6475;border:1px solid #d9e9ee}
.v257-interview-top-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.v257-interview-top-actions button{font-size:9px;padding:7px 9px}
.v257-interview-students{margin-top:10px;border-top:1px solid #edf2f5;padding-top:8px;display:grid;gap:6px}
.v257-interview-student{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px;align-items:center;background:#f9fcfd;border:1px solid #e8f0f3;border-radius:11px;padding:8px 9px}
.v257-interview-student-name{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:#123f54;font:inherit}
.v257-interview-student-name b{display:block;font-size:10px}
.v257-interview-student-name small{display:block;color:#7a8e9b;font-size:8px;margin-top:2px}
.v257-interview-student-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.v257-interview-student-actions button{font-size:8px;padding:6px 7px;border-radius:8px}
.v257-call-btn{background:#e8f8f3!important;color:#08755f!important;border:1px solid #c3eadf!important}
.v257-video-btn{background:#edf3ff!important;color:#355eaa!important;border:1px solid #d7e3fb!important}
.v257-msg-btn{background:#eaf9fd!important;color:#08758d!important;border:1px solid #cfeaf1!important}
.v257-resume-btn{background:#f2f3ff!important;color:#5659a7!important;border:1px solid #dedff7!important}
.v257-overdue{color:#b24d2d!important;background:#fff2ed!important;border-color:#f2d1c5!important}
.v257-interview-empty{padding:14px;text-align:center;color:#7a8d9a;font-size:10px;border:1px dashed #d8e5ea;border-radius:12px;background:#fff}

/* Job ID + recruiter */
.v257-job-id input{font-weight:800;letter-spacing:.06em;background:#f4fbfd!important;color:#0c536b}
.v257-job-note{display:block;color:#718995;font-size:8px;margin-top:4px}
.v257-job-meta-line{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.v257-job-code{background:#eaf9fd;color:#087690;border:1px solid #caeaf1;border-radius:999px;padding:3px 6px;font-size:8px;font-weight:800}
.v257-recruiter{background:#f4f1ff;color:#6554a0;border:1px solid #e2daf8;border-radius:999px;padding:3px 6px;font-size:8px}

/* Portal publish state */
.v257-publish-live{display:inline-flex;align-items:center;gap:5px}
.v257-publish-live:before{content:"";width:6px;height:6px;border-radius:50%;background:#20b487;box-shadow:0 0 0 4px rgba(32,180,135,.12)}
.v257-publish-checking:before{background:#f2a62c;box-shadow:0 0 0 4px rgba(242,166,44,.12)}

@media(max-width:820px){
 .v257-interview-main{grid-template-columns:94px 1fr}
 .v257-interview-top-actions{grid-column:1/-1;justify-content:flex-start}
 .v257-interview-student{grid-template-columns:1fr}
 .v257-interview-student-actions{justify-content:flex-start}
}
@media(max-width:560px){
 .v257-interview-section{padding:10px;border-radius:14px}
 .v257-interview-main{grid-template-columns:1fr}
 .v257-interview-date{text-align:left;display:flex;align-items:center;gap:8px}
 .v257-interview-date strong,.v257-interview-date span{display:inline;margin:0}
 .v257-interview-student-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
 .v257-interview-student-actions button{width:100%}
}
