.afc-page{max-width:1440px;margin:0 auto}.afc-page .panel{margin:20px 0;padding:25px}.afc-page h2{font-size:20px;margin:0 0 16px}.afc-page h3{font-size:16px}.afc-notice{padding:15px 18px;background:#f5efea;border:1px solid #e8dad2;border-radius:12px;color:#73595f;font-size:13px;line-height:1.8}.afc-filter{display:flex;align-items:center;gap:12px;margin:18px 0}.afc-filter input{flex:1;min-width:0}.afc-filter select{width:175px}.afc-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.afc-case{border:1px solid #ece0df;border-radius:16px;padding:20px;background:linear-gradient(135deg,#fffdfb,#fff8f6)}.afc-case-top,.afc-case-foot,.afc-pagination,.afc-person,.afc-timeline li>div{display:flex;justify-content:space-between;align-items:center;gap:15px}.afc-case-top{align-items:flex-start}.afc-case-top h3{margin:6px 0}.afc-case-top p,.afc-person p{color:#7f6b73;font-size:13px;margin:3px 0}.afc-page small{color:#8b7880;font-size:12px}.afc-badge{white-space:nowrap;border-radius:20px;padding:5px 11px;font-size:12px;display:inline-block;background:#f0eaf5;color:#71597e}.afc-rejected{background:#f0eded;color:#706767}.afc-released{background:#eee8df;color:#7d6145}.afc-archived{background:#f8e6e8;color:#ad4054}.afc-excerpt{color:#735c65;line-height:1.8;margin:16px 0;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:65px}.afc-case-foot{border-top:1px solid #eee3df;padding-top:14px}.afc-pagination{justify-content:flex-end;font-size:12px;color:#8c767f;margin-top:20px;flex-wrap:wrap}.afc-pagination span{margin-right:auto}.afc-empty{text-align:center;padding:40px 15px;color:#917d85;background:#fcf8f6;border:1px dashed #e1d4d1;border-radius:12px}.afc-roster{display:grid;gap:12px}.afc-person{border:1px solid #eee3df;padding:17px;border-radius:13px}.afc-person>div:nth-child(2){flex:1;min-width:0}.afc-person h3{margin:0}.afc-person-initial{width:45px;height:45px;background:#eee2e9;color:#9f5c79;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.afc-detail{scroll-margin-top:90px}.afc-detail[hidden]{display:none}.afc-detail-status{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:15px 0 24px;font-size:12px;color:#8a737d}.afc-full-text,.afc-timeline p,.afc-decision p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:14px;color:#67515d}.afc-full-text{padding:15px 0}.afc-timeline{padding:0 0 0 22px;margin:18px 0;list-style:none;border-left:2px solid #ebd7df}.afc-timeline li{position:relative;padding:0 0 25px 6px}.afc-timeline li:before{content:'';position:absolute;width:9px;height:9px;background:#b96987;border:4px solid #fff5f4;border-radius:50%;left:-31px;top:1px}.afc-timeline li strong{font-size:14px;color:#704c60}.afc-timeline li p{margin:7px 0}.afc-timeline li>span{font-size:12px;color:#9d848d}.afc-action-form{padding:22px 0;margin-top:18px;border-top:1px solid #eadde2}.afc-action-form textarea{display:block;width:100%;margin:12px 0}.afc-action-form .field{display:flex;flex-direction:column;gap:8px;margin:14px 0}.afc-action-form .field select{width:100%}.afc-action-form .check-line{margin:18px 0}.afc-decision{padding:20px;background:#fbf2ee;border-radius:12px;margin:20px 0}.afc-page .form-error:not(:empty){display:block;margin:12px 0}.afc-page textarea{resize:vertical;min-height:100px}.afc-page button:disabled{cursor:default;opacity:.55}@media(max-width:980px){.afc-cases{grid-template-columns:1fr}.afc-person{flex-wrap:wrap}.afc-person button{margin-left:60px}}@media(max-width:600px){.afc-page .panel{padding:17px}.afc-filter{flex-wrap:wrap;gap:8px}.afc-filter input{flex-basis:100%}.afc-filter select{width:auto;flex:1}.afc-case{padding:15px}.afc-case-foot{flex-wrap:wrap}.afc-timeline li>div{display:block}.afc-timeline small{display:block;margin-top:4px}.afc-person{padding:13px}.afc-person button{width:100%;margin-left:0}.afc-detail .between{align-items:flex-start}.afc-detail .between h2{font-size:18px;line-height:1.6}}

/* A single application entry opens the roster, then collects the reason. */
.afc-roster-heading{gap:18px;align-items:center}.afc-roster-heading h2{margin:0}.afc-roster-heading>button{white-space:nowrap}
.afc-request-dialog{max-width:720px;max-height:min(90vh,900px);padding:0;color:var(--ink,#47363f);background:var(--panel,#fffdfb);border:1px solid var(--line,#eadde2)}
.afc-request-dialog .modal-head{background:var(--panel,#fffdfb);gap:20px}.afc-request-dialog .modal-head h2{margin:0;line-height:1.5;font-size:21px}.afc-request-dialog .modal-body{padding:24px 27px}
.afc-request-steps{display:flex;align-items:center;gap:30px;padding:0 0 18px;border-bottom:1px solid var(--line,#eadde2);color:var(--muted,#7c6773);font-size:14px;font-weight:500}.afc-request-steps strong{color:var(--wine,#934e6a);font-weight:700}
.afc-picker-intro{font-size:15px;line-height:1.8;margin:18px 0 0}.afc-request-dialog .afc-filter{margin:16px 0}.afc-request-dialog .afc-person{gap:12px;padding:14px}.afc-request-dialog .afc-person h3{font-size:17px;margin:0 0 4px}.afc-request-dialog .afc-person p{font-size:14px;line-height:1.5;margin:0 0 3px}.afc-request-dialog .afc-person small{font-size:13px;line-height:1.6;color:var(--muted,#7c6773)}.afc-request-dialog .afc-person button{flex-shrink:0}
.afc-selected-person{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0}.afc-selected-person small{font-size:13px;color:var(--muted,#7c6773)}.afc-selected-person h3{font-size:20px;font-weight:650;margin:5px 0}.afc-selected-person p{font-size:14px;margin:0;line-height:1.7;color:var(--muted,#7c6773)}.afc-selected-person .text-btn{flex-shrink:0;font-size:14px}
.afc-request-dialog .afc-notice{font-size:14px;margin:0 0 22px;line-height:1.8}.afc-request-dialog .field{display:flex;flex-direction:column;gap:9px;font-size:15px;font-weight:600}.afc-request-dialog textarea{width:100%;min-height:140px;resize:vertical;font-size:15px;font-weight:500;line-height:1.8}.afc-request-dialog .form-hint{font-size:13px;line-height:1.8;margin:9px 0}.afc-request-dialog .form-error:not(:empty){display:block;font-size:14px;line-height:1.7}.afc-request-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.afc-request-dialog .afc-pagination{font-size:13px;margin-top:16px}
@media(max-width:600px){.afc-request-dialog .modal-head{padding:18px}.afc-request-dialog .modal-head h2{font-size:19px}.afc-request-dialog .modal-body{padding:20px 18px}.afc-request-steps{gap:20px;font-size:13px}.afc-request-dialog .afc-person button{width:100%;margin-left:0}.afc-request-actions button{flex:1;min-width:0}.afc-request-dialog input,.afc-request-dialog textarea{font-size:16px}.afc-selected-person{align-items:flex-start}.afc-roster-heading>button{padding:10px 15px}}
