.rq-studio{--rq-review-cols:minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, .75fr) minmax(0, 1.15fr) minmax(0, 1.15fr) minmax(0, 1.25fr);background:#fff;border:1px solid #10151a14;border-radius:16px;flex-direction:column;gap:14px;padding:16px 18px 18px;display:flex;box-shadow:inset 0 1px #ffffffd9}.rq-alert{border-radius:10px;margin:0;padding:8px 12px;font-size:13px;font-weight:600;line-height:1.4}.rq-alert.is-error{color:#b42318;background:#c45a5214}.rq-alert.is-ok{color:#0f6b44;background:#3f8f6a14}.rq-toolbar{border-bottom:1px solid #10151a0f;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 16px;padding-bottom:12px;display:flex}.rq-toolbar-title-row{align-items:center;gap:8px;display:flex}.rq-toolbar h2{letter-spacing:-.02em;color:#10151a;margin:0;font-size:17px;font-weight:800}.rq-toolbar-badge{color:#d9480f;background:#ff7a451f;border:1px solid #d9480f24;border-radius:999px;align-items:center;min-height:22px;padding:0 8px;font-size:11px;font-weight:750;display:inline-flex}.rq-toolbar-hint{color:#868e96;margin:5px 0 0;font-size:12px;line-height:1.5}.rq-filter.segmented{background:#10151a0a;border:1px solid #10151a0f;border-radius:12px;flex-shrink:0;padding:3px}.rq-filter.segmented button{align-items:center;gap:5px;min-height:30px;padding:0 10px;display:inline-flex;box-shadow:none!important;color:#6a717a!important;background:0 0!important;border:none!important;border-radius:9px!important;font-size:12px!important;font-weight:700!important;transform:none!important}.rq-filter.segmented button.is-active{color:#10151a!important;background:#fff!important;box-shadow:0 2px 8px #10151a12!important}.rq-tab-count{color:#868e96;background:#10151a0f;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:800;display:inline-flex}.rq-tab-count.is-leave{color:#6741d9;background:#7950f21a}.rq-tab-count.is-overtime{color:#1864ab;background:#1c7ed61a}.rq-tab-count.is-fix{color:#d9480f;background:#ff922b1f}.rq-section{flex-direction:column;gap:8px;display:flex}.rq-section-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.rq-section-head h3{letter-spacing:-.02em;color:#343a40;border-left:4px solid #10151a24;margin:0;padding-left:10px;font-size:15px;font-weight:850}.rq-section.is-leave .rq-section-head h3{color:#5f3dc4;border-left-color:#9775fa}.rq-section.is-overtime .rq-section-head h3{color:#1864ab;border-left-color:#4dabf7}.rq-section.is-fix .rq-section-head h3{color:#d9480f;border-left-color:#ff922b}.rq-section-count{color:#868e96;background:#10151a0a;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:10px;font-weight:800;display:inline-flex}.rq-list{flex-direction:column;gap:8px;display:flex}.rq-sheet{background:#fff;border:1px solid #10151a12;border-radius:14px;overflow:hidden;box-shadow:0 1px 3px #10151a0d}.rq-sheet.is-leave{--rq-accent:#9775fa;--rq-accent-soft:#9775fa1a}.rq-sheet.is-overtime{--rq-accent:#4dabf7;--rq-accent-soft:#4dabf71a}.rq-sheet.is-fix{--rq-accent:#f0a281;--rq-accent-soft:#f0a2811f}.rq-sheet-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 16px;padding:11px 14px;display:grid}.rq-sheet-row.is-top{background:#fff;position:relative}.rq-sheet-row.is-top:before{content:"";background:var(--rq-accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.rq-sheet-row.is-bottom{background:var(--rq-accent-soft);border-top:1px solid #10151a0d}.rq-summary,.rq-reason{min-width:0;margin:0;line-height:1.55}.rq-summary{color:#343a40;flex-wrap:wrap;align-items:baseline;gap:0 5px;padding-left:10px;font-size:14px;display:flex}.rq-name{letter-spacing:-.02em;color:#10151a;font-weight:800}.rq-dot{color:#ced4da;-webkit-user-select:none;user-select:none;font-weight:500}.rq-kind{vertical-align:baseline;border-radius:6px;align-items:center;padding:1px 8px;font-size:12px;font-weight:750;line-height:1.5;display:inline-flex}.rq-kind.is-leave{color:#5f3dc4;background:#7950f21f}.rq-kind.is-overtime{color:#1864ab;background:#1c7ed61c}.rq-kind.is-fix{color:#c9562d;background:#e6866224}.rq-date{color:#868e96;font-variant-numeric:tabular-nums;font-weight:600}.rq-detail-group{display:inline}.rq-detail{font-variant-numeric:tabular-nums;color:#343a40;font-weight:650}.rq-reason{align-items:baseline;gap:2px;min-width:0;font-size:13px;display:flex}.rq-reason-label{color:#adb5bd;flex-shrink:0;font-weight:700}.rq-reason-text{color:#495057;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.rq-btn-reject,.rq-btn-approve{white-space:nowrap;flex-shrink:0;min-width:64px;min-height:32px;padding:0 13px;border-radius:10px!important;font-size:12.5px!important;font-weight:750!important;transform:none!important}.rq-btn-reject{color:#868e96!important;box-shadow:none!important;background:0 0!important;border:none!important}.rq-btn-reject:hover:not(:disabled){color:#495057!important;background:#10151a0a!important}.rq-btn-approve{color:#fff!important;border:none!important;box-shadow:0 3px 10px #10151a1f!important}.rq-btn-approve.is-leave{background:linear-gradient(145deg,#9775fa,#7950f2)!important}.rq-btn-approve.is-overtime{background:linear-gradient(145deg,#4dabf7,#1c7ed6)!important}.rq-btn-approve.is-fix{background:linear-gradient(145deg,#f0a281,#e68662)!important}.rq-btn-approve:disabled,.rq-btn-reject:disabled{opacity:.5;cursor:not-allowed}.rq-empty{text-align:center;background:#10151a05;border:1px dashed #10151a1a;border-radius:12px;padding:24px 14px}.rq-empty strong{color:#495057;margin-bottom:4px;font-size:13px;font-weight:750;display:block}.rq-empty p{color:#868e96;margin:0;font-size:12px}.rq-history{background:#10151a06;border:1px solid #10151a0f;border-radius:12px;padding:10px 12px;font-size:12px}.rq-history summary{cursor:pointer;color:#6a717a;font-weight:750;list-style:none}.rq-history summary::-webkit-details-marker{display:none}.rq-history-grid{border-top:1px solid #10151a0f;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 14px;margin-top:8px;padding-top:8px;display:grid}.rq-history-col h4{letter-spacing:.06em;text-transform:uppercase;color:#adb5bd;margin:0 0 4px;font-size:10px;font-weight:800}.rq-history-col ul{margin:0;padding:0;list-style:none}.rq-history-col li{color:#495057;border-bottom:1px solid #10151a0a;padding:3px 0;font-size:11.5px;line-height:1.4}.rq-history-col li:last-child{border-bottom:none}@media (max-width:720px){.rq-sheet-row{grid-template-columns:1fr;gap:8px}.rq-sheet-row.is-top .rq-btn-reject,.rq-sheet-row.is-bottom .rq-btn-approve{width:100%;max-width:none}.rq-reason-text{white-space:normal}.rq-toolbar{flex-direction:column;align-items:stretch}.rq-filter.segmented{width:100%}}.rq-section .att-list-viewport{min-width:0}.rq-review-list{background:#fff;border:1px solid #181e2414;border-radius:14px;width:100%;min-width:0;overflow:visible}.rq-review-cols,.rq-review-row{grid-template-columns:var(--rq-review-cols);align-items:center;gap:10px 14px;padding:0 14px;display:grid}.rq-review-cols{color:#8a9199;letter-spacing:.02em;background:#10151a05;border-bottom:1px solid #181e2414;min-height:34px;padding-top:7px;padding-bottom:5px;font-size:12px;font-weight:750}.rq-review-cols>span:nth-child(3),.rq-review-cell.is-shift,.rq-review-cols>span:nth-child(4),.rq-review-cell.is-expect,.rq-review-cell.is-anomaly,.rq-review-cols>span:nth-child(5),.rq-review-cell.is-kind,.rq-review-cell.is-range{text-align:left;justify-self:start}.rq-review-cols>span:last-child,.rq-review-cell.is-action{text-align:right;justify-self:stretch}.rq-review-row{z-index:0;background:#fff;border-top:1px solid #181e240f;min-height:48px;position:relative}:is(.rq-review-row:has(.rq-reason-tip:hover),.rq-review-row:has(.rq-reason-tip:focus-visible)){z-index:3}.rq-review-row:first-of-type{border-top:0}.rq-review-row:hover{background:#fff7f28c}.rq-review-cell{color:#343a40;min-width:0;font-size:13px}.rq-review-cell.is-who{min-width:0}.rq-review-cell.is-who .att-person{max-width:100%}.rq-review-cell.is-who .att-person-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rq-review-cell.is-when{white-space:nowrap;flex-direction:row;align-items:baseline;gap:5px;line-height:1.2;display:flex}.rq-when-date{letter-spacing:-.02em;color:#151a1f;font-variant-numeric:tabular-nums;font-size:15px;font-weight:850}.rq-when-weekday{color:#868e96;font-size:11px;font-weight:700}.rq-review-cell.is-when.is-leave .rq-when-weekday{color:#9775fa}.rq-review-cell.is-when.is-overtime .rq-when-weekday{color:#339af0}.rq-review-cell.is-when.is-fix .rq-when-weekday{color:#ff922b}.rq-review-cell.is-expect,.rq-review-cell.is-range{justify-self:start}.rq-time-band{font-variant-numeric:tabular-nums;box-sizing:border-box;border-radius:10px;align-items:center;gap:6px;max-width:100%;min-height:34px;padding:0 8px;display:inline-flex}.rq-time-band.is-expect{background:#181e2409;border:1px solid #181e240f}.rq-time-band.is-overtime{background:#228be614;border:1px solid #1c7ed61f}.rq-time-band.is-apply{background:#ff922b14;border:1px solid #ff922b29}.rq-time-band-label{border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:850;display:inline-flex}.rq-time-band.is-expect .rq-time-band-label{color:#5c646c;background:#181e240f}.rq-time-band.is-overtime .rq-time-band-label{color:#1c7ed6;background:#1c7ed624}.rq-time-band.is-apply .rq-time-band-label{color:#e8590c;background:#ff922b29}.rq-time-band-pair{align-items:center;gap:4px;min-width:0;display:inline-flex}.rq-time-band-pair strong{color:#3d454d;white-space:nowrap;font-size:12.5px;font-weight:750;line-height:1.2}.rq-time-band.is-overtime .rq-time-band-pair strong{color:#0b3d66}.rq-time-band.is-apply .rq-time-band-pair strong{color:#862e00}.rq-time-band-sep{color:#8a9199;font-size:12px;font-weight:700}.rq-kind-chip{white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;min-height:26px;padding:2px 9px;font-size:12px;font-weight:800;display:inline-flex}.rq-kind-chip.is-sick{color:#5f3dc4;background:#845ef729;border-color:#5f3dc447}.rq-kind-chip.is-personal{color:#1864ab;background:#1c7ed61f;border-color:#1877d63d}.rq-kind-chip.is-other{color:#5c646c;background:#181e240f;border-color:#181e241a}.rq-anomaly-chip{white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;min-height:26px;padding:2px 9px;font-size:12px;font-weight:800;display:inline-flex}.rq-anomaly-chip.is-absent{color:#c92a2a;background:#fa52521a;border-color:#fa52522e}.rq-anomaly-chip.is-missing{color:#e8590c;background:#ff922b1f;border-color:#ff922b33}.rq-anomaly-chip.is-late{color:#ae3ec9;background:#ae3ec91a;border-color:#ae3ec929}.rq-anomaly-chip.is-other{color:#5c646c;background:#181e240f;border-color:#181e241a}.rq-review-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.rq-reason-tip{color:#6a717a;text-underline-offset:2px;cursor:help;border-radius:8px;outline:none;align-items:center;min-height:28px;padding:0 8px;font-size:11.5px;font-weight:700;text-decoration:underline;display:inline-flex;position:relative}.rq-reason-tip:hover,.rq-reason-tip:focus-visible{color:#343a40;background:#10151a0a}.rq-reason-tip[data-tip]:after{content:attr(data-tip);z-index:20;color:#f8f9fa;text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;background:#151a1f;border-radius:10px;width:max-content;max-width:min(280px,70vw);padding:8px 10px;font-size:12px;font-weight:600;line-height:1.45;text-decoration:none;transition:opacity .15s,visibility .15s;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #0e131838}.rq-reason-tip[data-tip]:before{content:"";z-index:21;opacity:0;visibility:hidden;pointer-events:none;border:6px solid #0000;border-bottom-color:#151a1f;transition:opacity .15s,visibility .15s;position:absolute;top:calc(100% + 2px);right:12px}.rq-reason-tip:hover:after,.rq-reason-tip:focus-visible:after,.rq-reason-tip:hover:before,.rq-reason-tip:focus-visible:before{opacity:1;visibility:visible}.rq-mini-btn{white-space:nowrap;min-height:28px;border-radius:8px!important;padding:0 10px!important;font-size:11.5px!important;font-weight:750!important;transform:none!important}.rq-mini-btn.is-reject{color:#c92a2a!important;box-shadow:none!important;background:#fff5f5!important;border:1px solid #fa525247!important}.rq-mini-btn.is-reject:hover:not(:disabled){color:#a61e1e!important;box-shadow:none!important;background:#ffe3e3!important;border-color:#fa52526b!important;transform:none!important}.rq-mini-btn.is-approve{color:#fff!important;box-shadow:none!important;background:linear-gradient(145deg,#51cf66,#2f9e44)!important;border:none!important}.rq-mini-btn.is-approve:hover:not(:disabled){box-shadow:none!important;background:linear-gradient(145deg,#69db7c,#37b24d)!important;transform:none!important}.rq-mini-btn.is-approve.is-leave,.rq-mini-btn.is-approve.is-overtime,.rq-mini-btn.is-approve.is-fix{background:linear-gradient(145deg,#51cf66,#2f9e44)!important}.rq-mini-btn:disabled{opacity:.5;cursor:not-allowed}.rq-reason-overlay{z-index:12600}.rq-reason-modal{background:#fff;border:1px solid #181e2414;border-radius:16px;width:min(100%,420px);overflow:hidden;box-shadow:0 24px 60px #0e13182e}.rq-reason-head{border-bottom:1px solid #181e240f;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 10px;display:flex}.rq-reason-head h3{letter-spacing:-.02em;color:#151a1f;margin:0;font-size:16px;font-weight:850}.rq-reason-head p{color:#8a9199;margin:4px 0 0;font-size:12px;line-height:1.45}.rq-reason-close{background:#f3f0eb;border:1px solid #181e241a;border-radius:8px;flex-shrink:0;width:30px;height:30px;color:#4a5159!important;font-size:14px!important}.rq-reason-body{padding:14px 16px}.rq-reason-body .rq-reason-label{letter-spacing:.04em;color:#adb5bd;margin-bottom:6px;font-size:11px;font-weight:800;display:block}.rq-reason-body p{color:#343a40;white-space:pre-wrap;margin:0;font-size:14px;line-height:1.6}.rq-reason-foot{border-top:1px solid #181e240f;justify-content:flex-end;padding:10px 16px 14px;display:flex}@media (max-width:960px){.rq-review-cols{display:none}.rq-review-row{grid-template-columns:1fr 1fr;align-items:start;gap:10px 12px;padding:12px 14px}.rq-review-cell.is-who{border-bottom:1px dashed #181e2414;grid-column:1/-1;padding-bottom:4px}.rq-review-cell.is-action{grid-column:1/-1;justify-self:stretch}.rq-review-actions{justify-content:flex-end;width:100%}.rq-review-cell:before{color:#adb5bd;letter-spacing:.04em;margin-bottom:3px;font-size:10px;font-weight:800;display:block}.rq-review-row .rq-review-cell.is-when:before{content:"時間"}.rq-review-row .rq-review-cell.is-shift:before{content:"班別"}.rq-review-row .rq-review-cell.is-expect:before{content:"應班"}.rq-review-row.is-leave .rq-review-cell.is-kind:before{content:"假別"}.rq-review-row.is-fix .rq-review-cell.is-anomaly:before{content:"異常"}.rq-review-row.is-overtime .rq-review-cell.is-range:before{content:"加班時段"}.rq-review-row.is-fix .rq-review-cell.is-range:before{content:"申請時段"}}
