/* Service layout. Palette, typography and shared controls come from neleso.css. */
.service-portal{min-height:100vh;background:hsl(var(--muted))}
.service-topbar{height:auto;min-height:3.5rem;flex-wrap:wrap;gap:.75rem;padding:.75rem 1.5rem}
.service-topbar nav{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.8125rem}
.service-topbar nav a{color:hsl(var(--muted-foreground));font-weight:500}
.service-topbar nav a:hover{color:hsl(var(--brand))}
.service-topbar nav form{display:flex;margin:0}
.service-partner{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));padding:.25rem .5rem;border:1px solid hsl(var(--border));border-radius:var(--radius)}
.service-main{width:min(100%,1120px);margin:0 auto;padding:2rem 1.5rem 4rem}
.service-main .n-page-header{margin-bottom:1.5rem}
.service-main section{padding:1.5rem;margin-top:1.25rem;min-width:0}
.service-main h2{font-size:1rem;margin-bottom:1rem}
.service-main p{margin:.5rem 0 1rem;color:hsl(var(--muted-foreground))}
.service-main form{display:grid;gap:1rem}
.service-main label{display:grid;gap:.375rem;font-weight:500;font-size:.8125rem}
.service-main input,.service-main select,.service-main textarea{width:100%;max-width:100%;min-width:0}
.service-main textarea{resize:vertical;min-height:5rem}
.service-main button{justify-self:start;max-width:100%;white-space:normal;height:auto;min-height:2.25rem;padding:.625rem 1rem}
.service-main small,.service-main time{color:hsl(var(--muted-foreground));font-size:.75rem}
.grid,.service-login-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.service-login-grid section{margin-top:0}
.request-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1rem;padding:1rem 0;color:hsl(var(--foreground));text-decoration:none;border-top:1px solid hsl(var(--border));overflow-wrap:anywhere}
.request-card:hover{text-decoration:none}
a.request-card:hover strong{color:hsl(var(--brand))}
.request-card strong{font-weight:500}
.request-card small{grid-column:1/-1}
.request-card form{grid-column:1/-1}
.badge{height:fit-content;justify-self:start;white-space:normal}
.card-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem}
.card-heading h2{margin-bottom:.5rem}
.pre{white-space:pre-wrap;overflow-wrap:anywhere}
.service-main dl{display:grid;grid-template-columns:200px minmax(0,1fr);gap:.625rem 1rem;margin:1rem 0 0}
.service-main dd{margin:0;overflow-wrap:anywhere}
.service-main dt{color:hsl(var(--muted-foreground));font-size:.8125rem}
.events{list-style:none;margin:0;padding:0}
.events li{padding:1rem 0;border-top:1px solid hsl(var(--border))}
.events strong{font-weight:500;margin-right:.5rem}
.events time{display:block;margin-top:.25rem}
.service-main .check{display:flex;align-items:center;gap:.5rem;font-weight:400}
.service-main .check input{width:1rem;height:1rem;accent-color:hsl(var(--brand));box-shadow:none}
.invitation{font-family:var(--font-mono)}
#notice:empty{display:none}
#notice:not(:empty){padding:.875rem 1rem;background:hsl(var(--warning-muted));color:hsl(var(--warning));border:1px solid hsl(var(--warning) / .2);border-radius:var(--radius);overflow-wrap:anywhere}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:200;background:hsl(var(--background));padding:.75rem 1rem;border:1px solid hsl(var(--brand));border-radius:var(--radius)}
.skip-link:focus{top:.5rem}
@media(max-width:720px){.service-main{padding:1.25rem 1rem 3rem}.service-topbar{padding:.75rem 1rem;gap:.5rem}.service-topbar nav{flex-basis:100%;gap:1rem;padding-top:.5rem;border-top:1px solid hsl(var(--border))}.service-topbar nav form{margin-left:auto}.service-main section{padding:1rem}.grid,.service-login-grid{grid-template-columns:minmax(0,1fr)}.card-heading{display:grid}.service-main dl{grid-template-columns:minmax(0,1fr);gap:.25rem}.service-main dd{margin-bottom:.625rem}.request-card{grid-template-columns:minmax(0,1fr)}.request-card .badge{grid-row:2}.service-main button{min-height:2.75rem}.service-partner{margin-left:auto}}
.service-main.service-auth{max-width:none;padding:0}.service-auth .n-auth-shell{min-height:calc(100dvh - 3.5rem)}.service-auth .n-auth-card h2{margin-bottom:.5rem;font-size:1.5rem}.service-auth .n-auth-form button{width:100%;min-height:2.75rem}.service-auth #notice:not(:empty){margin:1rem 1.5rem}.service-login-divider{height:1px;background:hsl(var(--border));margin:2rem 0}

.service-details{margin-top:1rem}.service-details summary{cursor:pointer;font-weight:600;padding:.75rem 0}.service-actions{display:flex;flex-wrap:wrap;gap:.75rem}.service-signature{display:block;width:100%;height:160px;border:1px solid hsl(var(--border));border-radius:.5rem;background:white;touch-action:none}.service-documents{padding-left:1.25rem}.service-documents li{padding:.5rem 0;overflow-wrap:anywhere}.service-documents small{display:block}.report-signature{max-width:100%;width:480px;background:white;margin-top:1rem}
@media print{.service-topbar,.n-page-header,#notice,.print-report{display:none!important}.service-main{padding:0;max-width:none}.service-report{border:none;box-shadow:none;color:black}.service-report p,.service-report dt{color:#333}.service-report dl{grid-template-columns:180px 1fr}.service-report img{break-inside:avoid}}

[hidden]{display:none!important}.service-next{border-left:4px solid hsl(var(--brand))}.service-pagination{margin-top:1.25rem}.service-filter{margin-bottom:1.5rem}.service-field-error{display:block;color:hsl(var(--destructive));font-size:.8125rem}.service-main [aria-invalid="true"]{border-color:hsl(var(--destructive));outline-color:hsl(var(--destructive))}.service-main [id^="service-"]{scroll-margin-top:5rem}.service-main .service-form-status:empty{display:none}.service-main .service-form-status{font-weight:500}
