/* 學習成果報告書前台共用樣式 */
:root{--annual-primary:#176b5b;--annual-dark:#174f46;--annual-text:#263b38;--annual-muted:#64748b;--annual-line:#dbe5e2;--annual-soft:#edf6f3;--annual-white:#fff}

/* 申請案件進度 */
.progress-page{max-width:1200px;margin:35px auto;padding:0 18px;color:#333}
.progress-page .box{background:#fff;border-radius:20px;box-shadow:0 12px 35px rgba(0,0,0,.08);overflow:hidden}
.progress-page .head{background:#176fc1;color:#fff;padding:25px 30px}.progress-page .head h2{margin:0 0 6px}.progress-page .body{padding:26px}
.progress-page table{width:100%;border-collapse:collapse}.progress-page th{background:#f4eee5;padding:14px 10px;text-align:center;border-bottom:2px solid #d7b36a}.progress-page td{padding:15px 10px;text-align:center;border-bottom:1px solid #eee}
.progress-page .badge{display:inline-block;padding:7px 13px;border-radius:999px;background:#eef4fa;color:#176fc1;font-weight:800}.progress-page .done{background:#e7f6ec;color:#277944}
.progress-page .btn{display:inline-block;background:#176fc1;color:#fff;text-decoration:none;padding:9px 15px;border-radius:9px}.progress-page .empty{padding:35px;text-align:center;color:#777}

/* 年度成果內容及申請者頁面 */
.annual-message{padding:.9rem 1rem;margin-bottom:1rem;border-radius:12px;background:#e9f7ef;color:#176b3a}
.annual-actions{display:flex;gap:.75rem;flex-wrap:wrap}.annual-meta{color:#6f675f}.annual-empty{padding:2rem;text-align:center;color:#718096}.required:after{content:' *';color:#c0392b}
.main .form-control,.main .form-select{background:#fff;border-color:#e3d7c4}.main .form-control:focus,.main .form-select:focus{border-color:#c99f67;box-shadow:0 0 0 .2rem rgba(201,159,103,.18)}.main .btn-primary{background:#1683f6;border-color:#1683f6}.main .btn-warning{color:#3d322b;background:#f4c66a;border-color:#f4c66a}
.annual-wrap{max-width:1080px;margin:0 auto;padding:24px 16px;color:#243746}.annual-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.annual-head h1{margin:0 0 6px;font-size:1.75rem;color:var(--annual-dark)}
.annual-muted{color:var(--annual-muted)}.annual-card{background:var(--annual-white);border:1px solid var(--annual-line);border-radius:12px;margin-bottom:18px;overflow:hidden}.annual-card h2{margin:0;padding:13px 18px;background:var(--annual-soft);color:var(--annual-dark);font-size:1.12rem}
.annual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.annual-field{padding:13px 18px;border-top:1px solid #edf2f1}.annual-field.full{grid-column:1/-1}.annual-label{display:block;color:var(--annual-muted);font-size:.9rem;margin-bottom:4px}.annual-value{white-space:pre-wrap;overflow-wrap:anywhere}
.annual-table{width:100%;border-collapse:collapse}.annual-table th,.annual-table td{padding:11px 12px;border-top:1px solid #e5ecea;text-align:left;vertical-align:top}.annual-table th{background:#f7faf9;color:#365c55}
.annual-btn{display:inline-block;padding:9px 15px;border-radius:8px;background:var(--annual-primary);color:#fff;text-decoration:none;border:0;cursor:pointer}.annual-btn:hover{background:#115448;color:#fff}.annual-btn.secondary{background:#526b66}.annual-badge{display:inline-block;padding:3px 9px;border-radius:999px;background:#e5f3ef;color:var(--annual-primary);font-size:.85rem}.annual-upload{padding:18px}.annual-upload input[type=file]{display:block;margin:8px 0 12px;max-width:100%}

/* 一般審議委員 */
.review-wrap{max-width:1120px;margin:auto;padding:22px 16px;color:var(--annual-text)}.review-wrap h1{color:var(--annual-dark)}.review-wrap .review-grid{display:grid;grid-template-columns:minmax(300px,38%) minmax(0,62%);gap:18px;align-items:start}.review-wrap .review-card{background:#fff;border:1px solid var(--annual-line);border-radius:12px;overflow:hidden}.review-wrap .review-card h2{margin:0;padding:13px 16px;background:var(--annual-soft);color:var(--annual-dark);font-size:1.1rem}
.review-wrap .case-link{display:block;padding:14px 16px;border-top:1px solid #e8efed;color:var(--annual-text);text-decoration:none}.review-wrap .case-link:hover,.review-wrap .case-link.active{background:#f0f8f5}.review-wrap .case-title{font-weight:700;margin:4px 0}.review-wrap .muted{color:var(--annual-muted);font-size:.9rem}.review-wrap .badge{display:inline-block;padding:3px 9px;border-radius:999px;background:#e7f3ef;color:var(--annual-primary);font-size:.84rem}
.review-wrap .detail{padding:17px}.review-wrap .detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.review-wrap .field{padding:10px;background:#f7faf9;border-radius:8px}.review-wrap .field.full{grid-column:1/-1}.review-wrap .label{display:block;color:var(--annual-muted);font-size:.88rem;margin-bottom:4px}.review-wrap .form-row{margin:15px 0}.review-wrap .form-row label{display:block;font-weight:700;margin-bottom:7px}.review-wrap .form-control{box-sizing:border-box;width:100%;padding:10px;border:1px solid #aebfbb;border-radius:7px;font:inherit}.review-wrap .btn{display:inline-block;padding:9px 15px;border:0;border-radius:8px;background:var(--annual-primary);color:#fff;text-decoration:none;cursor:pointer}.review-wrap .btn.secondary{background:#657b76}.review-wrap .notice{padding:11px;border-radius:8px;background:#fff5d8;color:#755800;margin:14px 0}.review-wrap .empty{padding:24px;text-align:center;color:var(--annual-muted)}

/* 個人申請書－教育處複審（由 pg.asp 包住的純內頁） */
.individual-review-page{max-width:1180px;margin:0 auto;color:#263b38}.individual-review-page .cardx{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}.individual-review-page .head{margin:-1rem -1rem 1.5rem;padding:22px 26px;border-radius:14px;background:linear-gradient(135deg,#176b5b,#248b76);color:#fff}.individual-review-page .bodyx{padding:0}.individual-review-page .section-title{margin:28px 0 14px;padding-left:12px;border-left:5px solid #c99f67;color:#174f46;font-size:1.25rem;font-weight:800}.individual-review-page .opinion{margin-bottom:14px;border:1px solid #dbe5e2;border-radius:12px;overflow:hidden}.individual-review-page .opinion-head{padding:11px 15px;background:#edf6f3;color:#174f46;font-weight:800}.individual-review-page .opinion-body{padding:15px;min-height:62px;line-height:1.8}.individual-review-page .final-box{padding:22px;border:1px solid #dbe5e2;border-radius:14px;background:#f9fcfb}.individual-review-page .status-ok,.individual-review-page .status-wait{padding:11px 15px;border-radius:10px}.individual-review-page .status-ok{background:#e9f7ee;color:#267542}.individual-review-page .status-wait{background:#fff3cd;color:#806000}

@media(max-width:800px){.progress-page .table-wrap{overflow-x:auto}.progress-page table{min-width:850px}.review-wrap .review-grid{grid-template-columns:1fr}.review-wrap .detail-grid{grid-template-columns:1fr}.review-wrap .field.full{grid-column:auto}}
@media(max-width:700px){.annual-card{border-radius:14px}.annual-actions>.btn{width:100%}.main .input-group{display:grid;grid-template-columns:1fr}.main .input-group>.form-control,.main .input-group>.btn{width:100%;border-radius:12px!important}.table-responsive{overflow-x:auto}.annual-head{display:block}.annual-head .annual-btn{margin-top:12px}.annual-grid{grid-template-columns:1fr}.annual-field.full{grid-column:auto}.annual-table{display:block;overflow-x:auto}}
