.access-workspace {color:var(--text,#19312b)}
.access-workspace:not(.main) {max-width:1200px;margin:auto}
.access-page-head,.access-person,.access-buttons {display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.access-page-head {margin-bottom:1.25rem}.access-page-head h1{margin:0}.access-card {background:var(--surface,#fff);border:1px solid var(--line,#d7e0dc);border-radius:14px;padding:1.2rem;margin:1rem 0}
.access-person {border-top:1px solid var(--line,#d7e0dc);padding:1rem 0;overflow-wrap:anywhere}.access-person h3,.access-person p{margin:.2rem 0}.access-count{font-size:.85rem;font-weight:400}
.access-workspace button,.access-dialog button {min-height:42px;border:1px solid #718a7c;border-radius:8px;padding:.6rem .9rem;background:var(--surface,#fff);color:var(--text,#19312b);cursor:pointer;font:inherit}
.access-workspace button.access-primary,.access-dialog button.access-primary{background:#185347;color:#fff;border-color:#185347}.access-dialog button:disabled{opacity:.6;cursor:wait}
.access-field {display:flex;flex-direction:column;gap:.35rem;margin:.7rem 0;min-width:0;text-align:left;font-weight:600}.access-field input,.access-field select,.access-field textarea,.access-scope-row select {width:100%;box-sizing:border-box;font:inherit;min-height:44px;padding:.6rem;border:1px solid #8b9e94;border-radius:6px;background:var(--surface,#fff);color:var(--text,#19312b)}
.access-field textarea{min-height:95px;resize:vertical}.access-help{font-size:.9rem;line-height:1.5}.access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem 1rem}
.access-backdrop{position:fixed;inset:0;background:#061b15aa;z-index:10050;display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box;overscroll-behavior:contain}
.access-dialog{color:var(--text,#19312b);background:var(--surface,#fff);width:100%;max-width:850px;max-height:calc(100dvh - 2rem);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 80px #0004}
.access-dialog header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid #d7e0dc}.access-dialog h2{margin:0;font-size:1.3rem}.access-dialog form{display:flex;flex-direction:column;min-height:0;margin:0}.access-dialog-body{padding:1rem 1.2rem;overflow-y:auto;min-height:0;overscroll-behavior:contain}.access-dialog footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.7rem;padding:.85rem 1.2rem;border-top:1px solid #d7e0dc;background:var(--surface,#fff)}
.access-dialog [role=alert]{width:100%;color:#a8292d;margin:0;overflow-wrap:anywhere}.access-dialog [role=alert]:empty{display:none}.access-dialog [hidden]{display:none!important}.access-dialog :focus-visible,.access-workspace :focus-visible{outline:3px solid #d89d35;outline-offset:3px}
.access-scope-list,.access-services{border:1px solid #a7bab0;border-radius:8px;padding:.8rem;margin:.8rem 0}.access-services label{display:flex;gap:.5rem;align-items:center;margin:.5rem 0;font-weight:400}.access-scope-row{display:grid;grid-template-columns:1fr 2fr 1fr auto;gap:.65rem;align-items:end;margin:.8rem 0}.access-scope-row label{min-width:0;font-weight:600;display:flex;flex-direction:column;gap:.35rem}.access-request-reason{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:600px){.access-grid,.access-scope-row{grid-template-columns:1fr}.access-backdrop{padding:.4rem}.access-dialog{max-height:calc(100dvh - .8rem)}.access-dialog header,.access-dialog-body,.access-dialog footer{padding:.8rem}.access-person{align-items:flex-start}.access-buttons{width:100%;justify-content:flex-start}.access-page-head>button{width:100%}.access-dialog footer button{flex:1}}
.access-dialog header,.access-dialog footer{flex-shrink:0}.access-dialog form{flex:1 1 auto;overflow:hidden}.access-dialog-body{flex:1 1 auto;scrollbar-gutter:stable}.access-dialog input,.access-dialog select,.access-dialog textarea{font-size:1rem}.access-services input[type=checkbox]{width:auto;min-height:24px;flex:0 0 auto}.access-person>div{min-width:0}.access-dialog header h2{line-height:1.35}.access-dialog .access-close{flex-shrink:0}.access-services,.access-scope-list{min-width:0}
@media(max-width:600px){.access-backdrop{padding:max(.4rem,env(safe-area-inset-top)) .4rem max(.4rem,env(safe-area-inset-bottom))}.access-dialog{max-height:calc(100vh - .8rem);max-height:calc(100dvh - .8rem)}.access-dialog footer{padding-bottom:max(.8rem,env(safe-area-inset-bottom))}.access-dialog input,.access-dialog select,.access-dialog textarea{font-size:16px}.access-dialog footer button{min-height:44px}}
