.admin-app{background:var(--paper);color:var(--navy);font-size:15px}.admin-app main{margin:0}.admin-app h1{font-size:clamp(28px,3vw,43px)}.admin-app h2{font:600 23px/1.3 var(--font-body);letter-spacing:0}.admin-app h3{font-size:17px}
.admin-header{display:flex;align-items:center;gap:48px;padding:20px 32px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:10}.admin-brand{font-family:var(--font-title);font-size:15px;letter-spacing:-.6px}.admin-brand span{display:block;font:400 12px/1.4 var(--font-body);letter-spacing:0;color:var(--muted);margin-top:4px}.admin-header nav{display:flex;gap:12px}.admin-header #logout{margin-left:auto}
.admin-app button,.admin-app .button-link{font:400 13px/1.4 var(--font-body);border:1px solid var(--line);background:transparent;color:var(--navy);min-height:44px;padding:10px 14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px}.admin-app button:hover,.admin-app .button-link:hover{background:#e9e8e2;text-decoration:none}.admin-app button.primary{background:var(--navy);color:var(--paper);border-color:var(--navy)}.admin-app button.primary:hover{background:#303066}.admin-app button.danger{color:#a11942}.admin-app button:disabled{opacity:.4;cursor:default}.admin-app button:disabled:hover{background:transparent}.admin-app button.primary:disabled:hover{background:var(--navy)}
.admin-app input,.admin-app textarea,.admin-app select{font:400 16px/1.5 var(--font-body);padding:10px 12px;border:1px solid #aaa9a3;background:var(--white);color:var(--ink);min-width:0;width:100%;border-radius:0}.admin-app input:focus-visible,.admin-app textarea:focus-visible{outline:3px solid var(--pink);outline-offset:2px}.admin-app textarea{resize:vertical;min-height:100px}.admin-app label{display:block;font-size:12px;color:var(--muted)}.admin-app label>input,.admin-app label>textarea,.admin-app label>select{display:block;margin-top:7px}.admin-app input[type=checkbox],.admin-app input[type=radio]{width:20px;height:20px;margin:0;flex-shrink:0}.check-label{display:flex!important;align-items:center;gap:10px;font-size:14px!important;color:var(--navy)!important}.admin-app form{display:grid;gap:20px}.admin-app small,.hint{font-size:12px;color:var(--muted);line-height:1.5}.hint{margin-top:8px}.admin-app fieldset{border:0;padding:0;margin:0;min-width:0}.admin-app legend{font-size:16px;font-weight:600;margin-bottom:12px}
.loading{padding:48px}.dashboard{padding:48px 40px;max-width:1500px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:36px}.page-heading .eyebrow{color:#c71950;margin-bottom:16px}.page-heading p{color:var(--muted);margin-top:14px}.proposal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.proposal-card{border:1px solid var(--line);background:var(--white);padding:26px;display:flex;flex-direction:column;min-height:240px}.proposal-card .eyebrow{color:var(--muted)}.proposal-card h2{margin-top:20px;overflow-wrap:anywhere}.proposal-card p{font-size:13px;color:var(--muted);margin-top:14px}.proposal-card .card-actions{display:flex;gap:12px;margin-top:auto;padding-top:28px}.status-badge{font-size:11px;padding:4px 8px;background:var(--paper);color:var(--muted);display:inline-block;margin-top:12px}.empty-state{padding:70px 32px;text-align:center;border:1px dashed #aaa9a3}.empty-state p{color:var(--muted);margin:20px 0}
.auth-panel{max-width:500px;margin:70px auto;padding:40px;border:1px solid var(--line);background:var(--white)}.auth-panel .eyebrow{color:#c71950;margin-bottom:24px}.auth-panel h1{font-size:30px}.auth-panel>p{font-size:14px;color:var(--muted);margin:22px 0 28px}.auth-panel form button{justify-self:start}#auth-error:empty{display:none}#auth-error{font-size:13px;color:#a11942}
.editor-toolbar{padding:18px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;flex-wrap:wrap}.editor-toolbar h1{font:600 20px/1.3 var(--font-body);letter-spacing:0;max-width:450px;overflow-wrap:anywhere}.editor-toolbar .save-area{margin-left:auto;display:flex;align-items:center;gap:16px}.save-status{font-size:12px;color:var(--muted);max-width:300px}.save-status.error{color:#a11942}.editor-grid{display:grid;grid-template-columns:220px minmax(300px,390px) minmax(0,1fr);align-items:start;min-height:calc(100svh - 180px)}.slide-sidebar{padding:20px 14px;position:sticky;top:100px;max-height:calc(100svh - 110px);overflow:auto}.slide-sidebar>button{width:100%;margin-bottom:18px}.slide-sidebar ol{padding:0;list-style:none;margin:0}.slide-sidebar li{margin-bottom:5px}.slide-sidebar li button{width:100%;border:0;justify-content:flex-start;text-align:left;gap:12px;font-size:13px;padding:12px 10px}.slide-sidebar li button[aria-current]{background:#e6e5df;box-shadow:inset 2px 0 var(--pink);font-weight:600}.slide-number{font-size:11px;color:var(--muted)}
.fields-panel{padding:24px;border-left:1px solid var(--line);border-right:1px solid var(--line);min-height:100%;background:var(--white)}.fields-heading{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:20px}.fields-heading .eyebrow{font-size:10px;color:var(--muted)}.slide-tools{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:26px}.slide-tools button{font-size:12px;padding:8px 10px}.field-stack{display:grid;gap:20px}.field-stack>h3{padding-top:20px;border-top:1px solid var(--line)}.object-fields{display:grid;gap:14px}.list-item{border:1px solid var(--line);padding:14px;margin-bottom:12px;min-width:0}.list-item .list-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:12px}.list-actions button{font-size:11px;padding:6px 10px;min-height:34px}.list-actions .hint{margin-right:auto}.field-list>.add-item{width:100%;border-style:dashed}.media-field{padding:14px;background:var(--paper)}.media-field img{display:block;width:100%;height:100px;object-fit:contain;margin-bottom:12px}.media-field .media-name{font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin-bottom:10px}.media-field .media-buttons{display:flex;flex-wrap:wrap;gap:8px}.logo-selection>p{font-size:13px;color:var(--muted);margin-bottom:12px}.selected-logo{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;border-bottom:1px solid var(--line);padding:12px 0;align-items:center}.selected-logo img{width:72px;height:45px;object-fit:contain}.selected-logo .list-actions{grid-column:1/-1;display:flex;gap:6px}.selected-logo .check-label{font-size:12px!important}
.editor-preview{padding:24px;background:#e9e8e2;min-width:0;min-height:100%}.preview-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.preview-heading h2{font-size:17px}.preview-heading div{display:flex;gap:6px}.preview-heading button{font-size:12px;padding:8px 10px}.preview-heading button[aria-pressed=true]{background:var(--navy);color:var(--paper)}.admin-preview-stage{position:relative;overflow:hidden;width:100%;background:var(--paper)}.admin-preview-stage iframe{position:absolute;left:0;top:0;transform-origin:top left;border:0;background:var(--paper)}.preview-validation{font-size:13px;padding:18px;background:var(--paper);margin-bottom:18px;color:#a11942}.preview-validation:empty{display:none}.preview-validation li{margin:6px 0}.preview-note{font-size:11px;color:var(--muted);margin-top:12px}
.admin-app dialog{border:0;padding:28px;color:var(--navy);background:var(--paper);max-width:900px;width:calc(100vw - 48px);max-height:90svh}.admin-app dialog::backdrop{background:#1c1c4988}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:24px}.modal-heading h2{font-size:25px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:24px;flex-wrap:wrap}.modal-error{color:#a11942;font-size:13px;margin-top:16px}.modal-error:empty{display:none}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.admin-app button.template-card{display:block;text-align:left;background:var(--white);padding:16px}.template-card strong{display:block;margin-top:14px;font-size:15px}.template-card small{display:block;margin-top:6px}.template-card svg{display:block;width:100%;height:auto;background:var(--paper)}.import-textarea{height:280px!important;font-family:Consolas,monospace!important;font-size:13px!important}.import-report{margin:20px 0;font-size:14px}.import-report li{margin:8px 0}.import-choice{display:flex;gap:24px;flex-wrap:wrap;margin:24px 0}.import-summary{display:grid;gap:8px;margin:18px 0;font-size:13px;color:var(--muted)}
.media-toolbar{display:flex;align-items:center;gap:20px;margin-bottom:24px;flex-wrap:wrap}.upload-label{display:inline-flex!important;align-items:center;gap:12px;background:var(--navy);color:var(--paper)!important;padding:12px 16px;font-size:13px!important;cursor:pointer;min-height:44px}.upload-label input{position:absolute;width:1px!important;height:1px!important;opacity:0;margin:0!important}.upload-label:focus-within{outline:3px solid var(--pink);outline-offset:3px}.media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.media-tile{padding:14px;border:1px solid var(--line);background:var(--white);min-width:0}.admin-app button.media-tile{display:block;text-align:left;position:relative}.media-tile img,.media-tile video{width:100%;height:100px;object-fit:contain;display:block;margin-bottom:10px}.media-tile strong{font-size:12px;display:block;overflow-wrap:anywhere}.media-tile[aria-pressed=true]{outline:3px solid var(--pink);outline-offset:-3px}.media-tile[aria-pressed=true]:after{content:'✓';position:absolute;right:8px;top:6px;color:#a11942;font-weight:600}.library-page .media-grid{grid-template-columns:repeat(5,minmax(0,1fr))}#global-error{padding:16px 32px;background:#f9dce5;color:#911239;font-size:14px}
@media(max-width:1200px){.editor-grid{grid-template-columns:190px minmax(280px,360px) minmax(0,1fr)}.fields-panel{padding:20px}.editor-preview{padding:20px}.proposal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-page .media-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:950px){.editor-grid{grid-template-columns:190px minmax(0,1fr)}.editor-preview{grid-column:2;grid-row:2}.fields-panel{grid-column:2}.slide-sidebar{grid-row:1/3}.media-grid,.library-page .media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-header{gap:24px}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.admin-header{padding:16px;gap:16px;flex-wrap:wrap}.admin-header nav{order:3;width:100%}.admin-header #logout{font-size:11px}.dashboard{padding:28px 20px}.proposal-grid{grid-template-columns:1fr}.page-heading{flex-direction:column}.editor-toolbar{padding:16px}.editor-toolbar .save-area{margin-left:0;flex-wrap:wrap}.editor-grid{grid-template-columns:1fr}.slide-sidebar{position:static;max-height:230px;grid-column:1;grid-row:auto;border-bottom:1px solid var(--line)}.fields-panel,.editor-preview{grid-column:1;grid-row:auto;border-left:0;border-right:0}.auth-panel{margin:32px 20px;padding:24px}.media-grid,.library-page .media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.template-grid{grid-template-columns:1fr}.admin-app dialog{padding:20px}.admin-preview-stage{max-width:100%}}

.restore-label{margin-top:32px;display:flex!important;align-items:center;gap:16px;max-width:520px}.restore-label input{font-size:13px}

@media(min-width:651px){.editor-toolbar{position:sticky;top:var(--admin-header-height,84px);z-index:9;background:var(--paper)}.slide-sidebar{top:calc(var(--admin-header-height,84px) + var(--toolbar-height,84px) + 10px);max-height:calc(100svh - var(--admin-header-height,84px) - var(--toolbar-height,84px) - 20px)}}
.admin-app input,.admin-app textarea,.admin-app select{scroll-margin-top:calc(var(--admin-header-height,84px) + var(--toolbar-height,84px) + 20px)}
.paragraph-block{min-height:220px!important}
.preview-title{align-items:center;flex-wrap:wrap}.preview-overflow{font-size:12px;font-weight:600;color:#a11942;background:#f9dce5;padding:5px 8px;border-radius:4px}.preview-overflow[hidden]{display:none}
.proposal-card .card-actions{flex-wrap:wrap}
.admin-preview-stage{border-radius:16px;box-shadow:0 1px 6px rgba(28,28,73,.07),0 0 0 1px rgba(28,28,73,.025)}
@media(min-width:951px){.admin-app:has(.editor-grid){height:100svh;overflow:hidden}.editor-grid{height:calc(100svh - var(--admin-header-height,84px) - var(--toolbar-height,84px));min-height:0;overflow:hidden;align-items:stretch}.editor-grid>.fields-panel{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-padding-top:24px}.editor-grid>.slide-sidebar{position:static;height:100%;max-height:none;overflow-y:auto;overscroll-behavior:contain}.editor-grid>.editor-preview{height:100%;min-height:0;overflow-y:auto}.editor-grid input,.editor-grid textarea,.editor-grid select{scroll-margin-top:16px}}
.compact-list-row{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,30px);gap:4px;align-items:center;margin-bottom:9px}
.compact-list-row input{width:100%;padding:10px 8px;font-size:14px}
.admin-app .compact-list-row button{padding:0;min-height:44px;width:30px;border:0;font-size:18px}
.compact-list-row button:focus-visible{outline-offset:0}.compact-list>.add-item{margin-top:4px}
.media-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:12px}.media-filters input,.media-filters select{min-width:0;width:100%;padding:11px;font:inherit;border:1px solid var(--line);background:var(--white);color:var(--navy)}.media-count{font-size:13px;color:var(--muted);margin:12px 0 20px}.media-card{min-width:0;display:flex;flex-direction:column;gap:8px}.media-card>.media-tile{width:100%;flex:1}.tag-badges{display:flex;flex-wrap:wrap;gap:6px}.tag-badge{display:inline-flex;align-items:center;gap:6px;background:#e5e4eb;padding:4px 8px;font-size:11px;border-radius:4px;overflow-wrap:anywhere;max-width:100%}.admin-app .tag-badge button{padding:0;border:0;min-height:28px;min-width:28px;font-size:18px}.admin-app .edit-tags{padding:5px 0;border:0;text-align:left;font-size:12px;min-height:32px}.admin-app dialog.media-details{max-width:560px}.media-details input{width:100%;min-width:0}.tag-entry{display:flex;gap:8px}.tag-entry input{flex:1}.media-details .field-stack{gap:18px}
@media(max-width:650px){.media-filters{grid-template-columns:1fr}.modal-heading{gap:12px}.modal-heading h2{font-size:21px}}
