/* Batch 5: opt-in Portfolio workspace; no other screen is restyled. */
.library-app .portfolio-shell .portfolio{--portfolio-line:var(--line);--portfolio-green:var(--brand);}
.library-app .portfolio-shell .portfolio-heading{align-items:center;gap:16px;padding:18px 22px;margin-bottom:16px;border:1px solid #d5dce7;border-radius:22px;background:linear-gradient(115deg,#edf1f7,#f6f3eb);}
.library-app .portfolio-shell .portfolio-heading h1{font-size:clamp(1.75rem,2.5vw,2.25rem);line-height:1.15;}
.library-app .portfolio-shell .portfolio-heading p{font-size:.9375rem;line-height:1.5;}
.library-app .portfolio-shell .portfolio-layout{grid-template-columns:208px minmax(0,1fr) 320px;gap:16px;}
.library-app .portfolio-shell .portfolio-layout>[data-portfolio-panel]{border-radius:20px;box-shadow:0 3px 12px #0b234606;overflow:visible;}
.library-app .portfolio-shell .portfolio h2{font-size:1.125rem;line-height:1.3;}
.library-app .portfolio-shell .portfolio-documents{padding:16px 12px;gap:12px;}
.library-app .portfolio-shell .portfolio-documents-head{display:grid;gap:12px;flex:none;}
.library-app .portfolio-shell .portfolio-documents-head .button{background:var(--brand-soft);border-color:var(--line);color:var(--brand-deep);min-height:40px;}
.library-app .portfolio-shell .portfolio-document{padding:12px 8px;gap:10px;border-radius:12px;}
.library-app .portfolio-shell .portfolio-document.selected{background:var(--brand-soft);border-color:#a6b9d4;box-shadow:inset 3px 0 #183b77;}
.library-app .portfolio-shell .portfolio-document:hover{background:var(--surface-muted);}
.library-app .portfolio-shell .portfolio-document strong{font-size:.875rem;}
.library-app .portfolio-shell .portfolio-document small{font-size:.75rem;}
.library-app .portfolio-shell .portfolio-file-icon{flex-basis:32px;height:42px;border-color:var(--line-strong);border-radius:6px;box-shadow:none;color:var(--brand-deep);background:#fcfaf3;}
.library-app .portfolio-shell .portfolio-documents footer{padding:10px 4px 0;}
.library-app .portfolio-shell .portfolio-documents footer p{font-family:inherit;font-size:.75rem;margin:0;}
.library-app .portfolio-shell .portfolio-preview-head{padding:16px;align-items:flex-start;background:var(--surface-muted);border-radius:20px 20px 0 0;max-height:none;overflow:visible;flex-wrap:wrap;}
.library-app .portfolio-shell .portfolio-preview-head h2{flex:1;min-width:120px;font-size:1rem;line-height:1.4;}
.library-app .portfolio-shell .portfolio-preview-head a{min-height:36px;}
.library-app .portfolio-shell .portfolio-preview-body{background:#ece9e2;border-radius:0 0 20px 20px;}
.library-app .portfolio-shell .portfolio-preview-note{font-family:inherit;color:var(--ink-soft);font-size:.75rem;}
.library-app .portfolio-shell .portfolio-text{margin:0 14px 16px;padding:24px;font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:.9375rem;line-height:1.65;border:1px solid var(--line);border-radius:12px;}
.library-app .portfolio-shell .portfolio-paper-mark{color:var(--brand);}
.library-app .portfolio-shell .portfolio-empty h3{font-size:1.5rem;}
.library-app .portfolio-shell .portfolio-discussion{padding:18px;gap:12px;}
.library-app .portfolio-shell .portfolio-discussion header{padding:14px;background:var(--brand-soft);border:1px solid var(--line);border-radius:12px;max-height:none;overflow:visible;}
.library-app .portfolio-shell .portfolio-context{font-size:.8125rem;color:var(--brand-deep);line-height:1.45;margin:8px 0 0;}
.library-app .portfolio-shell .portfolio-messages{font-size:.9375rem;line-height:1.6;}
.library-app .portfolio-shell .portfolio-discussion-empty{padding:0 4px;}
.library-app .portfolio-shell .portfolio-question{border:1px solid var(--line);border-radius:12px;background:var(--surface-muted);padding:12px;margin-top:0;}
.library-app .portfolio-shell .portfolio-question strong{font-size:.8125rem;color:var(--brand-deep);}
.library-app .portfolio-shell .portfolio-sources{font-size:.75rem;}
.library-app .portfolio-shell #portfolio-compose label{font-size:.8125rem;}
.library-app .portfolio-shell #portfolio-compose textarea{min-height:76px;max-height:120px;}
.library-app .portfolio-shell #portfolio-compose button{min-height:40px;padding:8px 22px;}
.library-app .portfolio-shell #portfolio-compose .meta{font-family:inherit;font-size:.75rem;line-height:1.4;}
.library-app .portfolio-shell .portfolio-tabs{border:1px solid var(--line);border-radius:14px;padding:4px;background:white;gap:4px;}
.library-app .portfolio-shell .portfolio-tabs button{border:0;border-radius:10px;font-size:.875rem;min-height:44px;}
.library-app .portfolio-shell .portfolio-tabs button[aria-pressed=true]{background:var(--brand-soft);color:var(--brand-deep);}
@media(min-width:1101px) and (min-height:650px){
 .library-app .portfolio-shell #workspace{padding:16px 28px;}
 .library-app .portfolio-shell .portfolio>.portfolio-heading{margin-bottom:16px;}
}
@media(min-width:1600px){.library-app .portfolio-shell .portfolio-layout{grid-template-columns:232px minmax(0,1fr) 360px;gap:20px;}}
@media(max-width:1100px){
 .library-app .portfolio-shell .portfolio-heading{align-items:stretch;padding:20px;}
 .library-app .portfolio-shell .portfolio-actions{justify-content:flex-start;}
 .library-app .portfolio-shell .portfolio-layout>[data-portfolio-panel]{height:auto;min-height:420px;}
 .library-app .portfolio-shell .portfolio-document-list{max-height:50dvh;}
 .library-app .portfolio-shell .portfolio-preview-body{min-height:320px;max-height:70dvh;}
 .library-app .portfolio-shell .portfolio-messages{flex:none;min-height:120px;max-height:50dvh;}
 .library-app .portfolio-shell .portfolio-documents-head{grid-template-columns:1fr auto;align-items:center;}
}
.portfolio{--portfolio-line:#dedfd8;--portfolio-green:#183f32;color:var(--ink,#1e3028)}
.portfolio-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}
.portfolio-heading h1{font-family:var(--font-display,'Source Serif 4',serif);font-size:clamp(2rem,3vw,3rem);margin:0 0 6px;line-height:1.1}
.portfolio-heading p{margin:0;color:var(--ink-soft)}
.portfolio-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.portfolio [data-primary=true]{background:var(--portfolio-green);color:white;border-color:var(--portfolio-green)}
.portfolio .button.primary{background:var(--portfolio-green);border-color:var(--portfolio-green);color:#fff}
.portfolio .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.portfolio-status:empty{display:none}.portfolio-status{margin:12px 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.portfolio-layout{display:grid;grid-template-columns:200px minmax(0,1fr) 285px;gap:14px;align-items:stretch}
.portfolio-layout>aside,.portfolio-layout>section{min-width:0;border:1px solid var(--portfolio-line);border-radius:7px;background:var(--surface,#fff);overflow:hidden;height:720px}
.portfolio h2{font-family:var(--font-display,'Source Serif 4',serif);font-size:1.28rem;margin:0;line-height:1.25}
.portfolio-documents{display:flex;flex-direction:column;padding:18px 12px;gap:16px}
.portfolio-documents h2{padding:0 4px}.portfolio-documents .field{width:100%;min-width:0}
.portfolio-document-list{overflow:auto;flex:1;min-height:160px}
.portfolio-document{width:100%;display:flex;align-items:center;text-align:left;gap:12px;padding:12px 8px;margin:0 0 9px;border:1px solid transparent;background:transparent;border-radius:5px;color:inherit;cursor:pointer}
.portfolio-document.selected{background:#edf2eb;border-color:var(--portfolio-green)}
.portfolio-document:hover{background:#f1f3ee}.portfolio-document>span:last-child{min-width:0}
.portfolio-document strong{display:block;font-weight:600;font-size:.86rem;line-height:1.35;overflow-wrap:anywhere}
.portfolio-document small{display:block;font-size:.7rem;color:var(--ink-soft);margin-top:6px}
.portfolio-file-icon{display:grid;place-items:center;flex:0 0 42px;height:57px;border:1px solid #c9d1c7;background:#fff;box-shadow:2px 2px 0 #e4e8e1;color:#476252;font-size:.64rem;letter-spacing:.05em;border-radius:2px}
.portfolio-documents footer{border-top:1px solid var(--portfolio-line);padding:12px 4px 0}.portfolio-documents footer p{margin:12px 0 0;font-size:.7rem;line-height:1.5}
.portfolio-preview{display:flex;flex-direction:column}
.portfolio-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px;background:#f4f4f0;border-bottom:1px solid var(--portfolio-line)}
.portfolio-preview-head h2{overflow-wrap:anywhere;font-size:1.04rem}.portfolio-preview-head a{font-size:.75rem;padding:8px;flex-shrink:0}
.portfolio-preview-body{flex:1;min-height:0;overflow:auto;background:#e9ebe7;display:flex;flex-direction:column;position:relative}
.portfolio-preview-body iframe{border:0;width:100%;flex:1;min-height:450px;background:#fff}
.portfolio-image{width:100%;height:100%;object-fit:contain;padding:18px;box-sizing:border-box}
.portfolio-text{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;margin:0 18px 22px;padding:30px 26px;background:white;color:#293229;font-family:'Source Serif 4',serif;font-size:.94rem;line-height:1.7;box-shadow:0 2px 8px #17291b10;min-height:480px}
.portfolio-preview-note{padding:10px 18px;margin:0;font-size:.7rem;color:#485749}
.portfolio-empty{padding:28px 18px;text-align:center;margin:auto;max-width:420px;color:var(--ink-soft);font-size:.9rem;line-height:1.6}
.portfolio-empty h3{color:var(--ink);font-family:'Source Serif 4',serif;font-size:1.5rem;margin:16px 0 8px}
.portfolio-paper-mark{font-size:3rem;color:#79917e}
.portfolio-discussion{display:flex;flex-direction:column;padding:20px 16px;gap:14px}
.portfolio-discussion header{border-bottom:1px solid var(--portfolio-line);padding-bottom:14px}
.portfolio-context{font-size:.79rem;color:var(--portfolio-green);overflow-wrap:anywhere;margin:12px 0 0}.portfolio-discussion header button{margin-top:12px;font-size:.75rem}
.portfolio-messages{flex:1;min-height:80px;overflow:auto;overscroll-behavior:contain;font-size:.83rem;line-height:1.6}
.portfolio-discussion-empty{color:var(--ink-soft);padding:16px 0}
.portfolio-turn{margin-bottom:22px}.portfolio-question{border-left:2px solid #c7d5c8;padding-left:10px;white-space:pre-wrap;overflow-wrap:anywhere}
.portfolio-answer>p,.portfolio-answer .ai-response-content>p{white-space:pre-wrap;overflow-wrap:anywhere}.portfolio-sources{border-top:1px solid var(--portfolio-line);padding-top:10px;color:var(--ink-soft);font-size:.71rem;line-height:1.5}
.portfolio-sources a{display:block;overflow-wrap:anywhere;color:inherit}.portfolio-sources p{margin:6px 0}.portfolio-sources ul{padding-left:15px}
#portfolio-compose{border-top:1px solid var(--portfolio-line);padding-top:14px;display:grid;gap:9px}#portfolio-compose label{font-size:.75rem}#portfolio-compose textarea{width:100%;resize:vertical;max-height:180px;min-height:84px}#portfolio-compose button{justify-self:end}#portfolio-compose .meta{font-size:.68rem;margin:0}
.portfolio-read-warning{background:#faf3e4;border:1px solid #e4d5b4;padding:12px;font-size:.78rem}.portfolio-read-warning p{margin-top:0}
.portfolio-tabs{display:none}.portfolio button:focus-visible,.portfolio a:focus-visible{outline:2px solid var(--portfolio-green);outline-offset:3px}
@media(min-width:1101px) and (min-height:650px){
 .portfolio-layout{flex:1;min-height:0;}
 .portfolio-layout>aside,.portfolio-layout>section{height:auto;min-height:0;}
 .portfolio-document-list,.portfolio-messages{min-height:0;}
 .portfolio-documents{padding:14px 12px;gap:10px;}
 .portfolio-documents footer{flex:none;}
 .portfolio-documents footer p{margin-top:8px;}
 .portfolio-preview-head{flex:none;max-height:25%;overflow:auto;padding:12px;}
 .portfolio-preview-body iframe{min-height:0;}
 .portfolio-text{flex-shrink:0;min-height:0;}
 .portfolio-discussion{padding:14px 16px;gap:10px;}
 .portfolio-discussion header{flex:none;max-height:25%;overflow:auto;padding-bottom:10px;}
 .portfolio-read-warning{flex:none;max-height:25%;overflow:auto;}
 #portfolio-compose{flex:none;padding-top:10px;gap:6px;}
 #portfolio-compose textarea{min-height:64px;max-height:110px;}
 .portfolio button,.portfolio textarea,.portfolio input,.portfolio a{scroll-margin-block:8px;}
}
@media(min-width:1600px){.portfolio-layout{grid-template-columns:230px minmax(0,1fr) 320px;gap:18px}}
@media(max-width:1100px){
 .portfolio-heading{flex-direction:column}.portfolio-actions{justify-content:flex-start}
 .portfolio-tabs{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--portfolio-line)}
 .portfolio-tabs button{flex:1;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--ink-soft);padding:12px 6px;cursor:pointer}
 .portfolio-tabs button[aria-pressed=true]{border-color:var(--portfolio-green);color:var(--portfolio-green);font-weight:600}
 .portfolio-layout{display:block}.portfolio-layout>[data-portfolio-panel]{display:none;height:650px}
 .portfolio-layout[data-pane=documents]>[data-portfolio-panel=documents],.portfolio-layout[data-pane=discussion]>[data-portfolio-panel=discussion],.portfolio-layout[data-pane=preview]>[data-portfolio-panel=preview]{display:flex}
 .portfolio-document{padding:14px}.portfolio-file-icon{flex-basis:46px}.portfolio-text{padding:22px 18px;margin:0 10px 15px}
}
@media(max-width:980px){.library-app .sidebar-nav:has([data-view=portfolio]) .nav-group{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1100px){
 .portfolio-layout>[data-portfolio-panel]{height:clamp(420px,70dvh,650px);}
 .portfolio-document-list{min-height:0;}
 .portfolio button,.portfolio textarea,.portfolio input,.portfolio a{scroll-margin-block:120px calc(140px + env(safe-area-inset-bottom));}
}
/* Approved document styling; desktop placement is restored below. */
.library-app .portfolio-shell .app-main:has(.portfolio){height:auto;min-height:100dvh;}
.library-app .portfolio-shell #workspace:has(.portfolio),.library-app .portfolio-shell #content:has(>.portfolio),.library-app .portfolio-shell #content>.portfolio{display:block;flex:none;}
.library-app .portfolio-shell .portfolio-heading{min-height:180px;box-sizing:border-box;position:relative;display:block;padding:28px 32px;border-radius:14px;background:#f5f1e9 url('/media/portfolio-header.jpg') center/cover no-repeat;}
.library-app .portfolio-shell .portfolio-heading>div:first-child{max-width:52%;}
.library-app .portfolio-shell .portfolio-heading h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,3.3vw,3.3rem);font-weight:500;color:#0b2346;}
.library-app .portfolio-shell .portfolio-actions{justify-content:flex-start;margin-top:16px;}
.library-app .portfolio-shell .portfolio-heading .portfolio-actions [data-portfolio-action=upload]{display:none;}
.library-app .portfolio-shell .portfolio-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);align-items:start;gap:20px;}
.library-app .portfolio-shell .portfolio-layout>[data-portfolio-panel]{height:auto;min-height:0;border-radius:14px;}
.library-app .portfolio-shell .portfolio-documents{grid-column:1;grid-row:1;padding:20px;}
.library-app .portfolio-shell .portfolio-preview{grid-column:1;grid-row:2;}
.library-app .portfolio-shell .portfolio-discussion{grid-column:2;grid-row:1 / span 2;align-self:start;min-height:520px;padding:22px;}
.library-app .portfolio-shell .portfolio h2{font-family:Georgia,'Times New Roman',serif;font-size:1.5rem;font-weight:500;color:#0b2346;}
.library-app .portfolio-shell .portfolio-documents-head{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.library-app .portfolio-shell .portfolio-documents-head .button{background:#183b77;color:white;border-radius:8px;}
.library-app .portfolio-shell .portfolio-documents footer{padding:0;border:0;}
.library-app .portfolio-shell .portfolio-document-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;overflow:visible;max-height:none;min-height:0;flex:none;}
.library-app .portfolio-shell .portfolio-document{display:flex;flex-direction:column;align-items:stretch;padding:0;gap:0;margin:0;border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden;}
.library-app .portfolio-shell .portfolio-document.selected{border-color:#183b77;box-shadow:0 0 0 1px #183b77;background:#f5f8fc;}
.library-app .portfolio-shell .portfolio-card-art{position:relative;min-height:160px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:20px;gap:14px;background:linear-gradient(115deg,#f1eee6,#e8eef4);border-bottom:1px solid var(--line);}
.library-app .portfolio-shell .portfolio-file-icon{flex:none;height:35px;width:28px;font-size:.6rem;}
.library-app .portfolio-shell .portfolio-card-title{font-family:Georgia,'Times New Roman',serif;font-size:1.15rem;line-height:1.35;overflow-wrap:anywhere;color:#183b77;}
.library-app .portfolio-shell .portfolio-card-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#f5f3ef;}
.library-app .portfolio-shell .portfolio-card-meta{padding:14px;}
.library-app .portfolio-shell .portfolio-card-action{display:block;margin-top:12px;font-size:.8rem;color:#183b77;}
.library-app .portfolio-shell .portfolio-document-list>.portfolio-empty{grid-column:1/-1;}
.library-app .portfolio-shell .portfolio-preview-body{min-height:260px;max-height:none;overflow:visible;}
.library-app .portfolio-shell .portfolio-preview-body iframe{min-height:500px;flex:none;height:65vh;}
.library-app .portfolio-shell .portfolio-image{height:auto;max-height:720px;}
.library-app .portfolio-shell .portfolio-discussion header{background:none;border:0;padding:0;}
.library-app .portfolio-shell .portfolio-context{padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--brand-soft);}
.library-app .portfolio-shell .portfolio-messages{overflow:visible;max-height:none;min-height:200px;flex:1;}
.library-app .portfolio-shell .portfolio-discussion-empty{padding:32px 4px;}
.library-app .portfolio-shell .portfolio-preview-head{border-radius:14px 14px 0 0;}
/* Desktop: documents, preview, discussion in one row. Keep natural page flow. */
@media(min-width:1101px){
 .library-app .portfolio-shell .portfolio-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) minmax(0,1fr);}
 .library-app .portfolio-shell .portfolio-preview{grid-column:2;grid-row:1;}
 .library-app .portfolio-shell .portfolio-discussion{grid-column:3;grid-row:1;}
 .library-app .portfolio-shell .portfolio-documents-head{flex-wrap:wrap;}
 .library-app .portfolio-shell .portfolio-document-list{grid-template-columns:minmax(0,1fr);}
}
@media(max-width:1100px){
 .library-app .portfolio-shell .portfolio-layout{display:block;}
 .library-app .portfolio-shell .portfolio-layout>[data-portfolio-panel]{display:none;}
 .library-app .portfolio-shell .portfolio-layout[data-pane=documents]>[data-portfolio-panel=documents],.library-app .portfolio-shell .portfolio-layout[data-pane=preview]>[data-portfolio-panel=preview],.library-app .portfolio-shell .portfolio-layout[data-pane=discussion]>[data-portfolio-panel=discussion]{display:flex;}
}
@media(max-width:600px){
 .library-app .portfolio-shell .portfolio-heading{min-height:355px;padding:24px;background-size:auto 155px;background-position:65% bottom;background-color:#f5f1e9;}
 .library-app .portfolio-shell .portfolio-heading>div:first-child{max-width:100%;}
 .library-app .portfolio-shell .portfolio-documents{padding:14px;}
 .library-app .portfolio-shell .portfolio-document-list{gap:10px;}
 .library-app .portfolio-shell .portfolio-card-art{padding:12px;min-height:130px;}
 .library-app .portfolio-shell .portfolio-card-title{font-size:1rem;}
 .library-app .portfolio-shell .portfolio-card-meta{padding:10px;}
 .library-app .portfolio-shell .portfolio-documents-head{flex-wrap:wrap;}
}
.library-app .portfolio-document-export{border:1px solid var(--line);border-radius:20px;background:var(--surface,#fff);padding:18px 22px;margin:0 0 18px;min-width:0;}
.library-app .portfolio-document-export p{overflow-wrap:anywhere;}
.library-app .portfolio-document-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
.library-app .portfolio-document-export details{margin:12px 0;}
.library-app .portfolio-document-export summary{cursor:pointer;color:var(--brand-deep);font-weight:600;padding:8px 0;}
.library-app .portfolio-document-export fieldset{border:0;padding:0;margin:12px 0;min-width:0;}
.library-app .portfolio-document-export fieldset fieldset{border-top:1px solid var(--line);padding-top:12px;}
.library-app .portfolio-document-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.library-app .portfolio-document-fields label{display:grid;align-content:start;gap:6px;min-width:0;}
.library-app .portfolio-document-fields .field{width:100%;min-width:0;box-sizing:border-box;}
.library-app .portfolio-document-pdf iframe{display:block;width:100%;height:75vh;min-height:360px;border:1px solid var(--line);border-radius:12px;}
@media(max-width:640px){.library-app .portfolio-document-export{padding:16px;}.library-app .portfolio-document-fields{grid-template-columns:1fr;}.library-app .portfolio-document-actions .button{white-space:normal;}}
