.template-manager{min-width:0}
.template-page{padding:1.1rem clamp(.8rem,2vw,1.65rem) 2rem;min-width:0}
.template-page button,.template-page input,.template-page select{font:inherit}
.template-page [hidden]{display:none!important}
.template-intro{display:flex;align-items:center;justify-content:space-between;gap:1.1rem;margin:0 0 1rem;padding:.2rem 0 .85rem;border-bottom:1px solid var(--border-color)}
.kicker,.eyebrow{color:var(--primary-blue);font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.template-intro .kicker{margin:0 0 .32rem}
.intro-copy{max-width:720px;color:var(--text-secondary);font-size:.78rem;line-height:1.5}
.template-intro .btn{flex:0 0 auto}
.template-layout{display:grid;grid-template-columns:minmax(250px,300px) minmax(0,1fr);gap:1rem;align-items:stretch;min-height:650px}
.template-library,.template-workspace{min-width:0;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-card)}
.template-library{display:flex;flex-direction:column;align-self:stretch;padding:.85rem}
.library-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 .85rem}
.library-heading h2{font-size:.92rem;letter-spacing:-.02em}
.library-count{display:block;margin-top:.12rem;color:var(--text-secondary);font-size:.68rem}
.quiet-icon{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-dark);color:var(--text-secondary);cursor:pointer}
.quiet-icon:hover{color:var(--primary-blue);border-color:var(--primary-blue)}
.template-manager .search-box{display:flex;flex:0 0 auto;align-items:center;gap:.55rem;padding:0 .65rem;height:38px;min-height:38px;width:100%;max-width:none;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-dark);color:var(--text-secondary)}
.search-box input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text-primary);font-size:.75rem}
.search-box:focus-within{border-color:var(--primary-blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary-blue) 18%,transparent)}
.filter-label{margin:.8rem 0 .3rem;color:var(--text-secondary);font-size:.66rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
#typeFilter,.field-label input,.field-label select{width:100%;min-height:38px;padding:.5rem .65rem;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-dark);color:var(--text-primary);font-size:.76rem}
.template-list{display:grid;gap:.42rem;margin-top:.75rem}
.template-list-item{position:relative;display:block;width:100%;padding:.72rem .68rem;text-align:left;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--text-primary);cursor:pointer}
.template-list-item:hover{background:var(--bg-hover)}
.template-list-item[aria-current=true]{border-color:color-mix(in srgb,var(--primary-blue) 46%,var(--border-color));background:color-mix(in srgb,var(--primary-blue) 9%,var(--bg-dark))}
.template-list-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.77rem;font-weight:700}
.template-list-item span{display:block;margin-top:.28rem;color:var(--text-secondary);font-size:.65rem}
.template-list-item .list-type{display:inline-flex;align-items:center;margin-top:.45rem;padding:.14rem .4rem;border-radius:20px;background:var(--bg-hover);color:var(--text-secondary);font-size:.59rem}
.library-empty,.library-error{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:1.5rem .65rem;color:var(--text-secondary);font-size:.73rem;line-height:1.45}
.loading-row{display:grid;gap:.55rem;padding:.35rem 0}
.loading-row span{display:block;height:58px;border:1px solid var(--border-color);border-radius:5px;background:linear-gradient(90deg,var(--bg-dark),var(--bg-hover),var(--bg-dark));background-size:200% 100%;animation:template-skeleton 1.35s ease-in-out infinite}
.loading-row span:nth-child(2){width:88%}.loading-row span:nth-child(3){width:76%}
@keyframes template-skeleton{from{background-position:100% 0}to{background-position:-100% 0}}
.library-empty>i{color:var(--primary-blue);font-size:1.35rem;margin-bottom:.25rem}
.library-empty strong,.library-error strong{color:var(--text-primary);font-size:.8rem}
.library-empty .text-button{margin-top:.4rem}
.library-error{color:var(--danger)}
.template-workspace{padding:1.05rem;min-height:640px}
.editor-empty{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:590px;max-width:470px;margin:auto;padding:2rem}
.empty-mark{display:grid;place-items:center;width:48px;height:48px;margin-bottom:1.25rem;border:1px solid color-mix(in srgb,var(--primary-blue) 30%,var(--border-color));border-radius:12px;background:color-mix(in srgb,var(--primary-blue) 10%,var(--bg-dark));color:var(--primary-blue);font-size:1.15rem}
.editor-empty h2{margin:.5rem 0 .65rem;font-size:clamp(1.5rem,3vw,2rem);line-height:1.13;letter-spacing:-.045em}
.editor-empty>p:not(.kicker){max-width:360px;margin-bottom:1.2rem;color:var(--text-secondary);font-size:.82rem;line-height:1.6}
.editor-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:0 0 .8rem;border-bottom:1px solid var(--border-color)}
.editor-title-block{min-width:0}
.editor-title-block h2{margin:.35rem 0 .1rem;font-size:1.23rem;letter-spacing:-.03em;overflow-wrap:anywhere}
.status-pill{display:inline-flex;align-items:center;min-height:21px;padding:.2rem .48rem;border-radius:4px;background:color-mix(in srgb,var(--primary-blue) 12%,var(--bg-dark));color:var(--primary-blue);font-size:.61rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.saved-meta{color:var(--text-secondary);font-size:.66rem}
.editor-actions{display:flex;justify-content:flex-end;gap:.4rem;flex-wrap:wrap}
.template-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;min-height:34px;padding:.45rem .68rem;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-dark);color:var(--text-primary);font-size:.71rem;font-weight:700;line-height:1;cursor:pointer;text-decoration:none;transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}
.template-page .btn:hover:not(:disabled){border-color:var(--primary-blue);transform:translateY(-1px)}
.template-page .btn-primary{border-color:var(--primary-blue);background:var(--primary-blue);color:#fff}
.template-page .btn-primary:hover:not(:disabled){background:var(--primary-dark)}
.template-page .btn-danger-quiet{color:var(--danger)}
.template-page .btn-danger-quiet:hover:not(:disabled){border-color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,var(--bg-dark))}
.template-page .btn:disabled{opacity:.55;cursor:not-allowed}
.template-page :focus-visible{outline:2px solid var(--primary-blue);outline-offset:2px}
.save-error,.manager-notice{margin:.65rem 0;padding:.65rem .8rem;border:1px solid color-mix(in srgb,var(--danger) 38%,var(--border-color));border-radius:5px;background:color-mix(in srgb,var(--danger) 8%,var(--bg-card));color:var(--danger);font-size:.73rem;line-height:1.45}
.manager-notice{border-color:color-mix(in srgb,var(--primary-blue) 36%,var(--border-color));background:color-mix(in srgb,var(--primary-blue) 8%,var(--bg-card));color:var(--text-primary)}
.manager-notice.is-error{border-color:color-mix(in srgb,var(--danger) 38%,var(--border-color));background:color-mix(in srgb,var(--danger) 8%,var(--bg-card));color:var(--danger)}
.template-fields{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);gap:.8rem;margin:.95rem 0}
.field-label{display:block;color:var(--text-primary);font-size:.7rem;font-weight:700}
.field-label input,.field-label select{display:block;margin-top:.35rem;font-weight:400}
.field-label input:focus,.field-label select:focus,#typeFilter:focus{outline:2px solid color-mix(in srgb,var(--primary-blue) 55%,transparent);outline-offset:1px}
.field-label small{display:block;margin-top:.3rem;color:var(--text-secondary);font-size:.64rem;font-weight:400}
.required-mark{color:var(--danger)}
.editor-tabrow{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.8rem 0 0;border-bottom:1px solid var(--border-color)}
.section-tabs{display:flex;gap:.15rem;max-width:100%;overflow-x:auto;scrollbar-width:thin}
.section-tab{position:relative;flex:0 0 auto;padding:.62rem .65rem;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary);font-size:.68rem;font-weight:700;cursor:pointer}
.section-tab:hover{color:var(--text-primary)}
.section-tab[aria-selected=true]{border-bottom-color:var(--primary-blue);color:var(--primary-blue)}
.section-progress{flex:0 0 auto;color:var(--text-secondary);font-size:.64rem;white-space:nowrap}
.section-editor-panel{padding-top:.9rem}
.character-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;margin-top:.35rem}
.section-help{color:var(--text-secondary);font-size:.64rem;line-height:1.4}
.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin:0 0 .55rem}
.section-heading h3{font-size:.9rem;letter-spacing:-.015em}
.section-heading p{margin-top:.22rem;color:var(--text-secondary);font-size:.68rem;line-height:1.4}
.section-placeholder{color:var(--text-secondary);font-size:.66rem}
.proposal-rich-editor-wrap{overflow:hidden;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-dark)}
.proposal-rich-editor[contenteditable=true]{min-height:245px}
.editor-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-top:.95rem}
.merge-guide{min-width:0}
.merge-guide strong,.merge-guide>span{display:block}
.merge-guide strong{font-size:.71rem}
.merge-guide>span{margin-top:.18rem;color:var(--text-secondary);font-size:.64rem;line-height:1.4}
.merge-chips{display:flex;gap:.32rem;flex-wrap:wrap;margin-top:.48rem}
.merge-chip{padding:.22rem .42rem;border:1px solid color-mix(in srgb,var(--primary-blue) 32%,var(--border-color));border-radius:4px;background:color-mix(in srgb,var(--primary-blue) 8%,var(--bg-dark));color:var(--primary-blue);font:600 .61rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;cursor:help}
.editor-pager{display:flex;gap:.4rem;flex:0 0 auto}
.privacy-note{display:flex;gap:.45rem;align-items:flex-start;margin-top:1rem;padding-top:.7rem;border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.63rem;line-height:1.5}
.privacy-note i{margin-top:.12rem;color:var(--primary-blue)}
.text-button{border:0;background:transparent;color:var(--primary-blue);font-size:.72rem;font-weight:700;cursor:pointer}
.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}

/* The preview is rendered into the same workspace panel as the section editor. */
.preview-panel{padding-top:.85rem}
.preview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.65rem}
.preview-head h3{font-size:.85rem}
.preview-head p{margin-top:.2rem;color:var(--text-secondary);font-size:.67rem}
.preview-sample-note{padding:.45rem .6rem;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:.63rem}
.preview-missing{margin-bottom:.7rem;padding:.65rem .75rem;border:1px solid color-mix(in srgb,#d99b28 38%,var(--border-color));border-radius:5px;background:color-mix(in srgb,#d99b28 9%,var(--bg-card));color:var(--text-primary);font-size:.68rem;line-height:1.5}
.preview-missing strong{display:block;margin-bottom:.25rem}
.preview-missing[hidden]{display:none!important}
.proposal-template-paper{width:min(100%,840px);margin:0 auto;padding:clamp(1.3rem,4vw,3.25rem);border:1px solid #cbd3dc;background:#fff;color:#203247;box-shadow:0 7px 25px rgba(17,39,61,.12);font-family:Georgia,'Times New Roman',serif;line-height:1.6;overflow-wrap:anywhere}
.paper-topline{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.65rem;border-bottom:2px solid #315d84;color:#315d84;font:700 .65rem/1.4 ui-sans-serif,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.proposal-template-paper h1{margin:1.25rem 0 .3rem;color:#173d60;font-size:clamp(1.5rem,3.8vw,2.2rem);line-height:1.12}
.paper-subline{color:#62778b;font: .73rem/1.5 ui-sans-serif,system-ui,sans-serif}
.paper-section{margin:1.45rem 0 0}
.paper-section h2{margin:0 0 .55rem;padding-bottom:.32rem;border-bottom:1px solid #d6e0e8;color:#315d84;font:700 .7rem/1.4 ui-sans-serif,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.paper-content{font-size:.82rem}
.paper-content >:first-child{margin-top:0}.paper-content>:last-child{margin-bottom:0}
.paper-content p,.paper-content ul,.paper-content ol,.paper-content blockquote{margin:.65rem 0}
.paper-content ul,.paper-content ol{padding-left:1.4rem}
.paper-content blockquote{padding:.45rem .85rem;border-left:3px solid #4d83ad;color:#526c82}
.paper-content a{color:#1d638e;text-decoration:underline}
.paper-content table{width:100%;border-collapse:collapse;margin:.8rem 0;font: .74rem/1.45 ui-sans-serif,system-ui,sans-serif}
.paper-content th,.paper-content td{border:1px solid #cad6df;padding:.42rem .5rem;text-align:left;vertical-align:top}
.paper-content th{background:#e9f0f5;color:#254d6d;font-weight:700}
.paper-content img{display:block;max-width:100%;height:auto;margin:.8rem auto;border-radius:2px}
.paper-footer{margin-top:2rem;padding-top:.55rem;border-top:1px solid #d6e0e8;color:#77899a;font: .6rem/1.45 ui-sans-serif,system-ui,sans-serif}
@media(max-width:980px){.template-layout{grid-template-columns:minmax(225px,265px) minmax(0,1fr)}.editor-topline{flex-direction:column}.editor-actions{justify-content:flex-start}.template-workspace{padding:.85rem}}
@media(max-width:760px){.template-page{padding:.8rem}.template-intro{align-items:flex-start;flex-direction:column}.template-layout{grid-template-columns:1fr;min-height:0}.template-library{min-height:240px;max-height:430px;overflow:auto}.template-workspace{min-height:560px}.editor-empty{min-height:450px;padding:1.2rem}.template-fields{grid-template-columns:1fr}.editor-bottom{align-items:stretch;flex-direction:column}.editor-pager{justify-content:space-between}.section-tabs{width:100%}.section-progress{display:none}.editor-tabrow{align-items:flex-start;flex-direction:column;gap:0}.section-tabs{order:2}.preview-head{flex-direction:column}}
@media(max-width:520px){.editor-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.editor-actions .save-button{grid-column:1/-1;grid-row:1}.editor-actions #duplicateTemplateBtn,.editor-actions #deleteTemplateBtn{min-height:36px}.editor-title-block h2{font-size:1.05rem}.proposal-template-paper{padding:1rem}.paper-topline{font-size:.56rem}.template-page .btn{min-height:38px}.section-tab{padding:.62rem .55rem;font-size:.65rem}}
@media(prefers-reduced-motion:reduce){.template-page .btn{transition:none}.loading-row span{animation:none}}
