/* Named access and the approved-package workflow extend the existing design. */
.workspace-identity,.eyebrow,.tag,.package-stages,.auth-principles {font-family:var(--font-heading)}
.workspace-identity {color:var(--muted);font-size:14px;margin-inline:24px}
.profile small,.note small,.block-note {display:block}
.profile small {text-transform:capitalize;color:var(--muted)}
.auth-shell {min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,0.85fr);background:var(--bg);max-width:1600px;margin:auto}
.auth-story {padding:64px clamp(32px,5vw,90px);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line);min-height:720px;background:linear-gradient(155deg,var(--surface),var(--bg))}
.auth-story .brand {margin:0}.auth-story .brand img{width:52px;height:52px}
.auth-story h1{font-size:clamp(35px,4vw,60px);font-weight:500;line-height:1.18;letter-spacing:-.02em;margin:20px 0}
.auth-story p{font-size:20px;color:var(--muted);line-height:1.65}
.auth-principles {display:flex;gap:32px;font-size:13px;letter-spacing:.06em;color:var(--muted)}
.auth-card {width:min(100%,440px);align-self:center;justify-self:center;padding:44px 32px}
.auth-card h2{font-size:32px;margin:20px 0 12px}.auth-card>p{color:var(--muted);margin-bottom:30px}
.auth-card form {display:grid;gap:20px}.auth-card input {min-height:48px}.auth-card button{width:100%;justify-content:space-between;min-height:48px}
.auth-card small{color:var(--muted)}#auth-error {color:#ef8c80;font-size:15px;min-height:0}
.auth-card .auth-footnote{font-size:13px;border-top:1px solid var(--line);padding-top:20px;margin:28px 0 0}
.package-stages {display:flex;list-style:none;margin:0 0 24px;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}
.package-stages li {display:flex;align-items:center;gap:10px;flex:1;padding:14px 16px;color:var(--muted);font-size:14px;border-right:1px solid var(--line)}
.package-stages li:last-child{border:0}.package-stages .current {color:var(--accent);background:var(--wash)}
.package-stages li>span {font-size:12px;opacity:.75}
.review-panel,.publication-panel{margin:0 0 18px}.publication-panel{margin-top:18px}
.review-panel p,.publication-panel p {font-size:15px;margin:12px 0 20px;line-height:1.6}
.review-panel button{margin:6px 8px 0 0}.publication-panel .field{margin:18px 0}
.block-note{margin-top:12px;color:var(--muted);font-size:13px}
.publication-row {display:flex;align-items:center;gap:16px;padding:18px 22px;border-top:1px solid var(--line)}
.publication-row>div{flex:1}.publication-row small{display:block;color:var(--muted);margin-top:4px}
.version-mark {font-family:var(--font-heading);font-size:20px;color:var(--accent)}
.outcome-field{padding:12px 0;border-bottom:1px solid var(--line)}
.outcome-field label{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.outcome-field select{width:100%;min-height:44px;font-size:15px;margin-top:3px}
.outcome-field small{display:block;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}
.review-outcome {display:flex;gap:8px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line);align-items:center;font-size:14px}
.review-outcome>span:last-of-type{margin-left:auto;color:var(--muted)}.review-outcome small{width:100%;color:var(--muted)}
.account-list{display:grid;gap:10px;margin:20px 0}.account-list>div{padding:12px;border:1px solid var(--line);display:flex;gap:12px;flex-wrap:wrap}.account-list small{width:100%;color:var(--muted)}.account-list span{margin-left:auto;color:var(--accent)}
.file-row strong,.note,.account-list small {overflow-wrap:anywhere}.danger{color:#f39286;border-color:#a24c43}
.themes {flex-wrap:wrap}.themes>span{flex:0 0 100%;width:auto}.theme-choice{min-width:0}
.mobile-save{display:none}.prototype-bar{flex-wrap:wrap}
@media(max-width:1190px){.prototype-bar .header-date{display:none}.mobile-save{display:inline-flex;color:var(--accent)}}
@media(max-width:1100px){.workspace-identity{display:none}.package-stages li{padding:12px 10px;font-size:12px}.auth-story{padding:42px 32px}.auth-principles{gap:16px}.auth-card{padding:32px}}
@media(max-width:760px){.auth-shell{display:block}.auth-story{min-height:0;padding:28px;border-right:0;border-bottom:1px solid var(--line)}.auth-story h1{font-size:32px;margin:16px 0}.auth-story>div:nth-child(2){margin-top:36px}.auth-story p{font-size:17px}.auth-principles{display:none}.auth-card{margin:auto;width:100%;max-width:440px;padding:32px 28px}.package-stages{overflow:auto}.package-stages li{flex:none}.profile .avatar{display:none}.profile strong{font-size:13px}.profile button{font-size:12px}.publication-row{flex-wrap:wrap}.publication-panel .panel-heading{flex-wrap:wrap;gap:12px}}
/* Offline preparation belongs to device settings, with a compact lock screen. */
.offline-lock{max-width:440px;margin:10vh auto;padding:28px;display:flex;flex-direction:column;gap:18px}
.offline-lock>img{width:54px;height:54px}.offline-lock h1{font-size:2rem}.offline-lock form{display:grid;gap:18px}.offline-lock small{line-height:1.6}
.offline-preparation{display:grid;gap:14px;padding-bottom:20px}.offline-preparation>.tag{justify-self:start}.offline-preparation .actions{flex-wrap:wrap}.offline-preparation small{line-height:1.7}
.pdf-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.pdf-toolbar label{display:flex;align-items:center;gap:8px}.pdf-toolbar input{width:64px}.pdf-canvas-wrap{max-height:65vh;overflow:auto;background:#d4dadb;padding:8px}.pdf-canvas-wrap canvas{display:block;margin:auto;height:auto}.pdf-status{margin:12px 0;font-size:.875rem}
.template-fields h3{margin:22px 0 12px}.template-fields details{border-top:1px solid var(--line);padding:16px 0}.template-fields summary{cursor:pointer;font-family:var(--font-heading);font-weight:600;min-height:36px}.template-fields details>p{margin:10px 0 18px}.template-groups{display:grid;grid-template-columns:1fr 1fr;gap:22px}.template-check{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0}.template-check select{width:130px;flex-shrink:0}.hazard-entry{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0;border-top:1px solid var(--line)}.hazard-entry textarea{min-height:74px}.hazard-entry .field:nth-child(4){grid-column:1/-1}@media(max-width:650px){.template-groups{grid-template-columns:1fr}.hazard-entry{grid-template-columns:1fr}}
