.jr-cv-form{max-width:620px}.jr-cv-form input,.jr-cv-form select{width:100%;padding:10px;margin:6px 0}.jr-cv-form button{padding:10px 16px}.jr-cv-card{border:1px solid #e5e7eb;padding:12px;border-radius:8px;margin:8px 0}.jr-cv-err{color:#b00}.jr-cv-list{margin:6px 0;padding-left:18px}.jr-cv-list li{margin:4px 0}.jr-cv-img img{max-width:100%;height:auto;border:1px solid #ddd;border-radius:8px}.btn{display:inline-block;padding:6px 10px;border:1px solid #111;border-radius:6px;text-decoration:none;margin-right:6px}.jr-modal{position:fixed;inset:0;z-index:9999}.jr-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}.jr-modal-dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(920px,92vw);max-height:88vh;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.25);padding:18px}.jr-modal-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer}

/* Modal + table */
.jr-modal {position:fixed; inset:0; background:rgba(0,0,0,.5); display:none; z-index:9999; padding:20px;}
.jr-modal-content {max-width:900px; margin:40px auto; background:#fff; border-radius:10px; padding:18px; position:relative;}
.jr-close {position:absolute; top:10px; right:14px; font-size:22px; background:none; border:none; cursor:pointer;}
.jr-table-wrap{overflow:auto;margin-top:12px}
.jr-table{width:100%; border-collapse:collapse; font-size:14px}
.jr-table th, .jr-table td{border:1px solid #e5e7eb; padding:10px; text-align:left}
.jr-table th{background:#f9fafb; font-weight:700}
.jr-table tr:nth-child(even){background:#fbfbfb}
.jr-table td .btn{padding:6px 10px; font-size:12px}
.jr-detail div { margin: 4px 0; }
.jr-detail .btn { display:inline-block; padding:8px 12px; border:1px solid #d1d5db; border-radius:8px; text-decoration:none; }
.jr-preview { margin-top: 8px; }


/* --- robust centering & sizing for modal --- */
#jr-modal{position:fixed; inset:0; z-index:999999; background:rgba(8,10,14,.55);
  display:flex; align-items:center; justify-content:center; padding:24px;}
#jr-modal .jr-modal-dialog{ width:min(1100px, calc(100vw - 48px)); max-height:calc(100vh - 48px); overflow:auto; margin:0;}
#jr-modal .jr-modal-grid{ min-height:auto; }
@media (max-width: 860px){
  #jr-modal{ align-items:flex-start; padding:14px; }
  #jr-modal .jr-modal-dialog{ width:100%; max-height:calc(100vh - 28px); }
}
