.requests-view,.manager-requests{max-width:1180px}
.requests-title{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}
.requests-title .intro{margin-bottom:0}
.requests-count{flex:none;display:inline-flex;align-items:center;min-height:32px;padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:12px;font-weight:650}
.requests-view .requests-list{display:grid;gap:10px}
.request-item{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--paper);box-shadow:0 4px 16px rgba(10,20,42,.025)}
.request-item[open]{border-color:color-mix(in srgb,var(--primary) 24%,var(--line));box-shadow:0 10px 30px rgba(10,20,42,.055)}
.request-toggle{display:grid;grid-template-columns:38px minmax(0,1fr) auto 18px;align-items:center;gap:18px;min-height:85px;padding:18px 24px;cursor:pointer;list-style:none}
.request-toggle::-webkit-details-marker{display:none}
.request-toggle:hover{background:var(--surface)}
.request-toggle:focus-visible,.request-file-picker:focus-visible{outline:3px solid var(--primary);outline-offset:-3px}
.request-number{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--surface-soft);color:var(--accent-text);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.request-summary-copy{display:grid;gap:5px;min-width:0}
.request-summary-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:16px;font-weight:650;line-height:1.35}
.request-summary-copy>span{color:var(--muted);font-size:12px}
.request-summary-status .badge{display:inline-flex;align-items:center;white-space:nowrap}
.request-chevron{color:var(--muted);font-size:23px;line-height:1;transition:transform .2s ease}
.request-item[open] .request-chevron{transform:rotate(180deg)}
.request-body{padding:0 24px 23px 80px}
.request-detail{max-width:860px;margin:0;color:var(--ink);font-size:14px;line-height:1.6;white-space:pre-wrap}
.request-stage{margin:10px 0 0;color:var(--muted);font-size:12px}
.requests-view .dependency-note{margin:15px 0 0}
.request-actions{display:grid;gap:15px;max-width:900px;margin-top:23px}
.request-message{display:grid;gap:9px}
.request-message>label,.request-file-heading{color:var(--ink);font-size:13px;font-weight:650}
.request-message textarea{box-sizing:border-box;width:100%;min-height:108px;padding:14px 16px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px;line-height:1.5;resize:vertical;transition:border-color .15s,box-shadow .15s}
.request-message textarea::placeholder{color:var(--muted)}
.request-message textarea:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}
.request-form-footer{display:flex;align-items:center;justify-content:space-between;gap:18px}
.request-form-footer>span{color:var(--muted);font-size:12px;line-height:1.4}
.request-form-footer button{flex:none}
.request-file{display:grid;gap:11px;padding-top:16px;border-top:1px solid var(--line)}
.request-file-row{position:relative;display:flex;align-items:center;gap:12px;min-width:0}
.request-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.request-file-picker{display:inline-flex;flex:none;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px dashed color-mix(in srgb,var(--primary) 46%,var(--line));border-radius:10px;background:var(--surface);color:var(--accent-text);font-size:13px;font-weight:650;cursor:pointer;transition:background .15s,border-color .15s}
.request-file-picker:hover{background:var(--soft);border-color:var(--primary)}
.request-file-input:focus-visible+.request-file-picker{outline:3px solid var(--primary);outline-offset:2px}
.request-file-picker>span{font-size:19px;font-weight:400;line-height:1}
.request-file-name{overflow:hidden;min-width:0;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.request-file-row>button{flex:none;margin-left:auto}
.request-actions .inline-status{margin:0;color:var(--accent-text);font-size:12px}
.request-actions .inline-status:empty{display:none}
.request-history{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}
.request-history>strong{font-size:13px}
.request-event{margin-top:10px;padding:12px 15px;border-radius:12px;background:var(--surface)}
.request-event span{color:var(--muted);font-size:12px}
.request-event p{margin:6px 0;white-space:pre-wrap}
.request-event a{color:var(--accent-text)}
.requests-empty{margin-top:18px}
.request-card{margin:18px 0;padding:26px}
.request-head{display:flex;align-items:start;justify-content:space-between;gap:24px}
.request-head h2{margin:6px 0 10px;font-size:23px}
.request-meta{display:flex;justify-content:flex-end;align-items:center;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:13px}
.request-meta>span:not(.badge){padding:7px 10px;border:1px solid var(--line);border-radius:999px}
.request-review{display:flex;flex-direction:column;align-items:flex-start;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
.request-review textarea,.request-create textarea{width:100%;min-height:74px}
.request-review .form-grid{width:100%}
.request-create{margin:22px 0}
.request-create h2{margin-top:0}
.manager-requests{margin-top:28px}
@media(max-width:760px){.requests-title{align-items:start;flex-direction:column;gap:14px}.request-toggle{grid-template-columns:34px minmax(0,1fr) 18px;gap:12px;padding:16px;min-height:76px}.request-number{width:32px;height:32px}.request-summary-copy strong{white-space:normal;font-size:14px}.request-summary-status{grid-column:2;grid-row:2;margin-top:-5px}.request-chevron{grid-column:3;grid-row:1}.request-body{padding:0 16px 18px 62px}.request-file-row{flex-wrap:wrap}.request-file-name{flex:1 1 110px}.request-file-row>button{margin-left:0}.request-head{display:block}.request-meta{justify-content:flex-start;margin:12px 0}.request-card{padding:18px}}
@media(max-width:520px){.request-body{padding-left:16px}.request-form-footer{align-items:stretch;flex-direction:column;gap:11px}.request-form-footer button,.request-file-row>button{width:100%}.request-file-name{flex:1 1 100%;overflow:visible;white-space:normal}.request-file-row>button{margin-top:2px}}
