:root{--bg:#f6f7f5;--surface:#fff;--surface-subtle:#fafbf9;--border:#e4e7e1;--border-strong:#d4d9d1;--text:#17211c;--muted:#68736d;--primary:#1e5c45;--primary-hover:#174936;--primary-soft:#eaf3ee;--success:#21734f;--success-soft:#e8f4ed;--warn:#9a651c;--warn-soft:#fbf2df;--danger:#ae3f3f;--danger-soft:#fbecec;--radius:12px;--shadow:0 1px 2px rgba(23,33,28,.03),0 5px 18px rgba(23,33,28,.035);--shadow-hover:0 2px 4px rgba(23,33,28,.04),0 12px 28px rgba(23,33,28,.07);--sidebar-width:272px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0 0 .5rem;line-height:1.25}h1{font-size:clamp(1.65rem,2.2vw,2.15rem);letter-spacing:-.035em;font-weight:690}h2{font-size:1.2rem;letter-spacing:-.015em}h3{font-size:1.05rem}p{margin:0 0 .75rem}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh}.app-sidebar{background:#fbfcfa;border-right:1px solid var(--border);height:100vh;position:-webkit-sticky;position:sticky;top:0;padding:1.35rem 1rem 1rem;display:flex;flex-direction:column;z-index:30}.sidebar-brand-wrap{display:flex;align-items:center;justify-content:space-between;padding:0 .45rem 1.65rem}.sidebar-brand{display:flex;align-items:center;gap:.7rem;color:var(--text);min-width:0}.sidebar-action:hover,.sidebar-brand:hover,.sidebar-link:hover{text-decoration:none}.brand-mark{width:36px;height:36px;border-radius:10px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:750;letter-spacing:.04em;box-shadow:0 4px 10px rgba(30,92,69,.16)}.sidebar-brand>span:last-child{display:flex;flex-direction:column;min-width:0}.sidebar-brand strong{font-size:.98rem;letter-spacing:-.015em}.sidebar-brand small{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.7rem;margin-top:.05rem}.sidebar-nav{flex:1 1;overflow-y:auto;scrollbar-width:thin;padding:0 .2rem}.sidebar-group+.sidebar-group{margin-top:1.5rem}.sidebar-label{padding:0 .7rem .45rem;color:#939c97;font-size:.66rem;font-weight:750;letter-spacing:.095em;text-transform:uppercase}.sidebar-action,.sidebar-link{width:100%;min-height:42px;padding:.62rem .7rem;border:0;border-radius:9px;background:transparent;color:#59635e;display:flex;align-items:center;gap:.72rem;font:inherit;font-size:.87rem;font-weight:540;text-align:left;cursor:pointer;transition:color .14s ease,background .14s ease}.sidebar-action:hover,.sidebar-link:hover{background:#f0f3ef;color:var(--text)}.sidebar-link.active{background:var(--primary-soft);color:var(--primary);font-weight:650}.sidebar-icon{width:19px;height:19px;flex:0 0 auto}.sidebar-footer{border-top:1px solid var(--border);padding-top:.75rem}.sidebar-action{margin-bottom:.55rem;color:var(--primary);font-size:.8rem}.sidebar-profile{padding:.65rem .45rem .2rem;display:flex;align-items:center;gap:.65rem;min-width:0}.profile-avatar{width:34px;height:34px;border-radius:50%;background:#e4e8e3;color:#405149;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;flex:0 0 auto}.profile-copy{display:flex;flex-direction:column;min-width:0;flex:1 1}.profile-copy small,.profile-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-copy strong{font-size:.78rem;font-weight:650}.profile-copy small{font-size:.67rem;color:var(--muted)}.mobile-menu-button,.profile-logout,.sidebar-close{border:0;background:transparent;color:var(--muted);cursor:pointer}.profile-logout{padding:.35rem;border-radius:7px;display:flex}.profile-logout:hover{background:#eef1ed;color:var(--text)}.sidebar-close{display:none;font-size:1.6rem}.mobile-header,.sidebar-backdrop{display:none}.app-content{min-width:0;background:var(--bg)}.container{max-width:1240px;margin:0 auto;padding:2.25rem clamp(1.5rem,3vw,3rem) 4rem}.container-narrow{max-width:440px;margin:0 auto;padding:3rem 1.5rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.35rem;box-shadow:var(--shadow)}.section{margin-bottom:1.5rem}.section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.muted{color:var(--muted)}.small{font-size:.85rem}.stack{flex-direction:column}.row,.stack{display:flex;gap:.75rem}.row{align-items:center;flex-wrap:wrap}label{display:block;font-size:.85rem;font-weight:600;color:#525e58;margin-bottom:.38rem}input,select,textarea{width:100%;min-height:42px;padding:.62rem .78rem;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface);color:var(--text);font-size:.95rem;font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}textarea{resize:vertical;min-height:80px}.field{margin-bottom:.9rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}@media (max-width:560px){.grid-2{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:40px;padding:.58rem 1rem;border:1px solid transparent;border-radius:9px;font-size:.9rem;font-weight:600;cursor:pointer;background:var(--primary);color:#fff;box-shadow:0 1px 2px rgba(23,33,28,.06);transition:background .14s ease,border-color .14s ease,transform .14s ease}.btn:hover:not(:disabled){background:var(--primary-hover);text-decoration:none;transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:0 1px 2px rgba(23,33,28,.03)}.btn-secondary:hover:not(:disabled){background:#f7f9fc}.btn-danger{background:var(--surface);color:var(--danger);border-color:var(--danger-soft)}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-sm{min-height:32px;padding:.35rem .6rem;font-size:.8rem}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;text-transform:capitalize;background:#eef1f6;color:var(--muted)}.badge-processing{background:var(--warn-soft);color:var(--warn)}.badge-completed{background:var(--success-soft);color:var(--success)}.badge-failed{background:var(--danger-soft);color:var(--danger)}.chips{display:flex;flex-wrap:wrap;gap:.4rem}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;font-size:.8rem;border:1px solid var(--border);background:#f7f9fc;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chip-confirmed{background:var(--success-soft);border-color:#bfe4d0;color:var(--success)}.chip-x{color:var(--muted);font-weight:700;padding-left:.15rem}.chip-x:hover{color:var(--danger)}.thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:.75rem;gap:.75rem}.thumb{position:relative;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#eef1f6;aspect-ratio:4/3}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb.selectable{cursor:pointer}.thumb.selected{outline:3px solid var(--primary);outline-offset:-1px}.thumb-badge{position:absolute;top:4px;left:4px;background:var(--primary);color:#fff;border-radius:999px;width:22px;height:22px;font-size:.75rem;display:flex;align-items:center;justify-content:center;font-weight:700}.variant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:.9rem;gap:.9rem}.variant img{width:100%;border-radius:8px;display:block}.list-item,.variant img{border:1px solid var(--border)}.list-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;border-radius:var(--radius);background:var(--surface);text-decoration:none;color:inherit;transition:border-color .12s ease,box-shadow .12s ease}.list-item:hover{border-color:var(--primary);box-shadow:var(--shadow);text-decoration:none}.alert{padding:.7rem .9rem;border-radius:8px;font-size:.88rem;margin-bottom:1rem}.alert-error{background:var(--danger-soft);color:var(--danger)}.alert-info{background:var(--primary-soft);color:var(--primary-hover)}.alert-success{background:var(--success-soft);color:var(--success)}.spinner{display:inline-block;width:14px;height:14px;border:2px solid hsla(0,0%,100%,.5);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.spinner-dark{border-color:var(--border);border-top-color:var(--primary)}@keyframes spin{to{transform:rotate(1turn)}}.divider{height:1px;background:var(--border);margin:1rem 0;border:none}.design-editor{display:flex;flex-direction:column;min-height:calc(100vh - 56px)}.design-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.6rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:56px;z-index:5}.design-toolbar-title{font-weight:700}.design-toolbar-spacer{flex:1 1}.design-body{display:flex;flex:1 1;align-items:flex-start;gap:1rem;padding:1.25rem}.design-canvas-wrap{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:.6rem;min-width:0}.design-canvas-frame{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(45deg,#eef1f6 25%,transparent 0),linear-gradient(-45deg,#eef1f6 25%,transparent 0),linear-gradient(45deg,transparent 75%,#eef1f6 0),linear-gradient(-45deg,transparent 75%,#eef1f6 0);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0;overflow:hidden;line-height:0}.design-loading{color:var(--muted);margin-bottom:.5rem}.design-caveat{max-width:40ch;text-align:center;margin:0}.design-panel{width:280px;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem;position:-webkit-sticky;position:sticky;top:116px;max-height:calc(100vh - 132px);overflow-y:auto}.design-layers{width:240px}.design-toolbar-sep{width:1px;align-self:stretch;background:var(--border);margin:0 .2rem}@media (max-width:1024px){.design-body{flex-direction:column}.design-layers,.design-panel{width:100%;position:static;max-height:none}}.layer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.layer-row{display:flex;align-items:center;gap:.3rem;padding:.3rem .35rem;border:1px solid var(--border);border-radius:7px;background:#fbfcfe}.layer-row.active{border-color:var(--primary);background:var(--primary-soft)}.layer-name{display:flex;align-items:center;gap:.4rem;flex:1 1;min-width:0;background:transparent;border:none;padding:.15rem .1rem;cursor:pointer;text-align:left;color:var(--text);font-size:.82rem;font-weight:600;width:auto}.layer-name:focus{outline:none;box-shadow:none}.layer-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:#eef1f6;color:var(--muted);font-size:.7rem;flex-shrink:0}.layer-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-actions{display:flex;align-items:center;gap:.05rem;flex-shrink:0}.layer-btn{width:auto;padding:.1rem .25rem;border:none;background:transparent;cursor:pointer;font-size:.78rem;line-height:1;border-radius:4px;color:var(--muted)}.layer-btn:hover:not(:disabled){background:#eef1f6}.layer-btn:disabled{opacity:.3;cursor:not-allowed}.layer-btn.danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.layer-btn:focus{outline:none;box-shadow:none}.design-modal-backdrop{position:fixed;inset:0;background:rgba(16,24,40,.45);display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.design-modal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem;width:min(680px,100%);max-height:80vh;overflow-y:auto}.design-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem}.app-shell .design-editor{min-height:100vh}.app-shell .design-toolbar{top:0}.admin-page{max-width:1320px}.admin-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;padding-bottom:1.7rem;margin-bottom:1.6rem;border-bottom:1px solid var(--border)}.admin-page-head h1{margin-bottom:.35rem}.admin-page-head p{color:var(--muted);max-width:680px;margin:0}.page-eyebrow,.section-kicker{color:var(--primary);font-size:.7rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.45rem}.section-kicker{color:#7a857f;margin-bottom:.8rem}.system-status{display:inline-flex;align-items:center;gap:.48rem;white-space:nowrap;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:#52615a;padding:.42rem .72rem;font-size:.74rem;font-weight:600;box-shadow:0 1px 2px rgba(23,33,28,.03)}.system-status>span{width:7px;height:7px;border-radius:50%;background:#39a56f;box-shadow:0 0 0 3px #e8f5ed}.admin-loading{min-height:240px;display:flex;align-items:center;justify-content:center;gap:.65rem;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.admin-stats-grid{gap:1rem}.admin-stat-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--text);text-align:left;cursor:pointer;min-height:168px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.admin-stat-card:hover{border-color:#cbd3cd;box-shadow:var(--shadow-hover);transform:translateY(-2px)}.admin-stat-label{color:var(--muted);font-size:.8rem;font-weight:650}.admin-stat-card>strong{font-size:2.35rem;line-height:1;font-weight:680;letter-spacing:-.045em}.admin-stat-link{width:100%;display:flex;align-items:center;justify-content:space-between;color:var(--primary);font-size:.75rem;font-weight:650}.admin-stat-link span{font-size:1rem;transition:transform .15s ease}.admin-stat-card:hover .admin-stat-link span{transform:translateX(3px)}.admin-notice{display:flex;align-items:flex-start;gap:.8rem;margin-top:1.15rem;padding:1rem 1.1rem;background:#f0f4f1;border:1px solid #dce6df;border-radius:var(--radius);color:#44524b}.admin-notice-icon{width:24px;height:24px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#dce9e0;color:var(--primary);font-family:Georgia,serif;font-weight:700}.admin-notice strong{font-size:.84rem}.admin-notice p{margin:.15rem 0 0;color:var(--muted);font-size:.8rem}.admin-page>.section>h2,.admin-page>.section>h2+p{display:none}.admin-page .section>.card:first-of-type,.admin-page .section>form.card:first-of-type{position:relative}.admin-page form.card{background:var(--surface);border-color:var(--border)}.admin-page .stack{gap:1rem}.admin-page .stack>.card{box-shadow:0 1px 3px rgba(23,33,28,.035);transition:border-color .14s ease,box-shadow .14s ease}.admin-page .stack>.card:hover{border-color:#d7dcd7;box-shadow:var(--shadow)}.admin-page .field{margin-bottom:1rem}.admin-page input[type=checkbox]{accent-color:var(--primary)}.admin-page .field>.row label.row{width:auto;min-height:34px;margin:0;padding:.38rem .65rem;gap:.42rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle);color:#56615b;font-weight:550}.admin-page code{padding:.12rem .32rem;border-radius:5px;background:#f0f2ef;color:#56615b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}.admin-page input[type=file]{padding:.42rem;color:var(--muted);font-size:.8rem}.admin-page input[type=file]::-webkit-file-upload-button{border:0;border-radius:6px;background:#edf1ed;color:#445149;padding:.4rem .65rem;margin-right:.65rem;font:inherit;font-weight:600;cursor:pointer}.admin-page input[type=file]::file-selector-button{border:0;border-radius:6px;background:#edf1ed;color:#445149;padding:.4rem .65rem;margin-right:.65rem;font:inherit;font-weight:600;cursor:pointer}.record-editor,.record-list-section{animation:record-enter .18s ease-out}@keyframes record-enter{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.record-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.record-list-toolbar h2{margin:0;font-size:1.15rem}.record-list-toolbar p{margin:.14rem 0 0;color:var(--muted);font-size:.78rem}.record-table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.record-table{width:100%;min-width:780px;border-collapse:collapse;table-layout:auto}.record-table th{padding:.7rem 1rem;background:#fafbf9;border-bottom:1px solid var(--border);color:#7a847f;font-size:.66rem;font-weight:720;letter-spacing:.055em;text-align:left;text-transform:uppercase;white-space:nowrap}.record-table td:first-child,.record-table th:first-child{padding-left:1.2rem}.record-table th:last-child{width:44px}.record-table td{padding:.82rem 1rem;border-bottom:1px solid #edf0ec;color:#4a554f;font-size:.8rem;vertical-align:middle}.record-table tbody tr:last-child td{border-bottom:0}.record-row{cursor:pointer;outline:none;transition:background .12s ease}.record-row:focus-visible,.record-row:hover{background:#f7f9f6}.record-row:focus-visible{box-shadow:inset 3px 0 0 var(--primary)}.record-row-arrow{color:#99a29d!important;font-size:1rem!important;text-align:right;transition:color .12s ease,transform .12s ease}.record-row:hover .record-row-arrow{color:var(--primary)!important;transform:translateX(2px)}.record-identity{min-width:180px;display:flex;align-items:center;gap:.7rem}.record-identity img,.record-initial{width:38px;height:38px;flex:0 0 auto;border-radius:9px}.record-identity img{object-fit:cover;border:1px solid var(--border);background:#eff2ee}.record-initial{display:flex;align-items:center;justify-content:center;background:#edf2ee;color:var(--primary);font-size:.78rem;font-weight:720}.record-identity>div{min-width:0;display:flex;flex-direction:column}.record-identity strong{color:var(--text);font-size:.84rem;font-weight:650}.record-identity small{max-width:230px;color:var(--muted);font-size:.7rem}.record-description,.record-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-description{max-width:300px}.capitalize{text-transform:capitalize}.record-empty{padding:4rem 1.5rem;color:var(--muted);text-align:center}.record-empty strong{display:block;margin-bottom:.2rem;color:var(--text)}.record-empty p{margin-bottom:1rem;font-size:.82rem}.record-editor{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.record-editor-toolbar{min-height:82px;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;background:#fafbf9;border-bottom:1px solid var(--border)}.record-editor-title{min-width:0;display:flex;align-items:center;gap:.85rem}.record-editor-title h2{margin:0;font-size:1.08rem}.record-editor-title p{margin:.18rem 0 0;color:var(--muted);font-size:.75rem}.record-back{width:34px;height:34px;flex:0 0 auto;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:#56615b;font-size:1rem;cursor:pointer}.record-back:hover{border-color:var(--border-strong);background:#f5f7f4}.record-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex:0 0 auto}.saved-indicator{color:var(--success);font-size:.76rem;font-weight:650;margin-right:.25rem}.template-sample-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem}.template-preview-divider{height:1px;margin:1.35rem 0;background:var(--border)}.ai-revision-confirmation{display:grid;grid-gap:.22rem;gap:.22rem;margin-top:1rem;padding:.8rem .9rem;border:1px solid #cfe1d5;border-radius:9px;background:#f0f7f2;color:#53635a;font-size:.73rem;line-height:1.45}.ai-revision-confirmation strong{color:var(--primary)}.template-preview-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1.5rem;background:rgba(20,27,24,.74);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.template-preview-modal{width:min(1260px,97vw);max-height:94vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsla(0,0%,100%,.16);border-radius:18px;background:#f8faf8;box-shadow:0 30px 90px rgba(9,16,12,.32)}.template-preview-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--border)}.template-preview-head div{display:grid;grid-gap:.12rem;gap:.12rem}.template-preview-head span{color:var(--muted);font-size:.72rem}.template-preview-head strong{font-size:.9rem}.template-preview-close{width:36px;height:36px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font-size:1.35rem;cursor:pointer}.template-preview-workspace{min-width:0;min-height:0;flex:1 1;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden}.template-preview-workspace.has-sidebar{grid-template-columns:minmax(0,1fr) minmax(300px,340px)}.template-preview-sidebar{min-width:0;overflow-y:auto;border-left:1px solid var(--border);background:#fffdf6}.admin-builder-elements{display:grid;grid-gap:.55rem;gap:.55rem;padding:.85rem 1rem;border-bottom:1px solid var(--border);background:#fff}.admin-builder-elements .tenant-layer-list{max-height:205px;overflow-y:auto;padding-right:.15rem}.admin-builder-elements .tenant-remove-drop{margin-top:.15rem}.template-preview-stage{min-height:0;min-width:0;display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;justify-items:center;grid-gap:1rem;gap:1rem;padding:1rem;background:#e9ede9;overflow:hidden}.template-preview-poster{position:relative;display:inline-flex;max-width:100%;max-height:calc(94vh - 175px)}.template-preview-poster>img{max-width:100%;max-height:calc(94vh - 175px);object-fit:contain;border-radius:7px;box-shadow:0 12px 38px rgba(15,24,19,.2)}.template-element-callout{z-index:4;display:flex;align-items:center;border:0;transform:translateY(-50%);filter:drop-shadow(0 1px 2px rgba(12,20,16,.3))}.template-element-callout,.template-element-hit{position:absolute;padding:0;background:transparent;cursor:pointer}.template-element-hit{z-index:2;min-width:12px;min-height:12px;border:1px dashed transparent;border-radius:4px}.template-element-hit.selected,.template-element-hit:hover{border-color:#ffde72;background:rgba(255,222,114,.1);box-shadow:0 0 0 2px rgba(20,28,24,.32)}.template-element-hit.movable{cursor:-webkit-grab;cursor:grab;touch-action:none}.template-element-hit.movable:active{cursor:-webkit-grabbing;cursor:grabbing}.template-element-resize-handle{position:absolute;z-index:7;width:15px;height:15px;padding:0;border:2px solid #fff;border-radius:4px;background:#d39a12;box-shadow:0 1px 5px rgba(12,20,16,.42);cursor:nwse-resize;touch-action:none;transform:translate(-50%,-50%)}.template-element-resize-handle:hover{background:#b77d00;transform:translate(-50%,-50%) scale(1.12)}.template-element-callout i{width:clamp(12px,3vw,34px);height:1px;background:#ffde72}.template-element-callout i:before{content:"";display:block;width:5px;height:5px;margin-top:-2px;border-radius:50%;background:#ffde72}.template-element-callout b{padding:2px 5px;border:1px solid hsla(0,0%,100%,.75);border-radius:4px;background:rgba(20,28,24,.88);color:#fff;font-size:.61rem;letter-spacing:.02em}.template-element-callout.selected b,.template-element-callout:hover b{background:#ad7a05}.template-element-callout.callout-left{flex-direction:row-reverse;transform:translate(-100%,-50%)}.template-element-callout.callout-left i:before{margin-left:auto}.template-element-legend{display:grid;grid-gap:.45rem;gap:.45rem;padding:.7rem 1rem;border-top:1px solid var(--border);background:#fff}.template-preview-sidebar>.template-element-legend:first-child{border-top:0}.template-element-legend>strong{font-size:.73rem}.template-element-legend>div{display:flex;flex-wrap:wrap;gap:.4rem .8rem}.template-element-legend>div button{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .35rem;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted);font-size:.69rem;cursor:pointer}.template-element-legend>div button.selected,.template-element-legend>div button:hover{border-color:var(--border-strong);background:var(--surface-soft)}.template-element-legend>div button b{color:var(--primary)}.template-element-legend small{color:var(--muted);font-size:.65rem}.template-element-editor{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;align-items:stretch;grid-gap:.7rem;gap:.7rem;min-width:0;padding:1rem;background:#fffdf6}.template-element-editor-title{display:grid;grid-gap:.18rem;gap:.18rem;align-self:center}.template-element-editor-title span{color:var(--muted);font-size:.68rem}.template-element-editor-title strong{font-size:.82rem}.template-element-editor select,.template-element-editor textarea{width:100%;border:1px solid var(--border-strong);border-radius:8px;background:#fff;color:var(--text);font:inherit}.template-element-editor textarea{min-height:58px;padding:.55rem .65rem;resize:vertical}.template-element-editor select{height:40px;padding:0 .55rem}.template-element-comment{display:grid;grid-template-columns:minmax(0,1fr);align-items:end;grid-gap:.55rem;gap:.55rem}.template-element-direct-controls{grid-column:1;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.template-element-direct-controls label button,.template-element-direct-controls>button{min-height:34px;padding:.35rem .6rem;border:1px solid var(--border-strong);border-radius:7px;background:#fff;color:var(--text);font:inherit;font-size:.72rem;cursor:pointer}.template-element-direct-controls label button:hover,.template-element-direct-controls>button:hover{border-color:var(--primary)}.template-element-direct-controls label button:disabled,.template-element-direct-controls>button:disabled{cursor:not-allowed;opacity:.55}.template-element-direct-controls select{width:150px}.element-typography-panel{flex:1 0 100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.65rem;gap:.65rem;margin:.2rem 0;padding:.75rem;border:1px solid #dce4df;border-radius:10px;background:#f7faf7}.element-control-heading{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding-bottom:.45rem;border-bottom:1px solid #e1e7e3}.element-control-heading strong{font-size:.76rem}.element-control-heading small{color:var(--muted);font-size:.61rem}.element-control-field{display:grid;align-content:start;grid-gap:.28rem;gap:.28rem;min-width:0}.element-alignment-control>span,.element-control-field>span{color:var(--muted);font-size:.65rem}.element-control-field>span b{float:right;color:var(--text);font-weight:650}.element-typography-panel .element-control-field select{width:100%;height:34px;font-size:.69rem}.element-control-range{grid-column:1/-1}.element-control-range input{width:100%;accent-color:var(--primary)}.element-alignment-control,.element-style-toggles{grid-column:1/-1;display:grid;grid-gap:.3rem;gap:.3rem}.element-alignment-control>div,.element-style-toggles{grid-template-columns:repeat(3,minmax(0,1fr))}.element-alignment-control>div{display:grid;grid-gap:.3rem;gap:.3rem}.element-alignment-control button,.element-style-toggles button{min-height:32px;padding:.3rem .35rem;border:1px solid var(--border-strong);border-radius:7px;background:#fff;color:var(--muted);font:inherit;font-size:.65rem;cursor:pointer}.element-style-toggles{grid-template-columns:repeat(2,minmax(0,1fr))}.element-alignment-control button.active,.element-style-toggles button.active{border-color:#91b29f;background:var(--primary-soft);color:var(--primary)}.element-alignment-control button:disabled,.element-style-toggles button:disabled{cursor:not-allowed;opacity:.55}.element-colour-control,.element-opacity-control{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem;color:var(--muted);font-size:.69rem}.element-colour-control span,.element-opacity-control span{flex:1 0 100%}.element-colour-control input{width:34px;height:34px;padding:2px;border:1px solid var(--border-strong);border-radius:7px;background:#fff}.element-opacity-control input{width:100%}.element-background-control{flex:1 1 130px;padding:.55rem;border:1px solid #e4ddca;border-radius:8px;background:#fffaf0}.template-element-direct-controls>.element-background-toggle{flex:1 0 100%}.template-element-direct-controls>.element-background-toggle.active{border-color:#d8c89f;background:#fff8e6;color:#73520a}.template-element-direct-controls .element-delete-control{border-color:#e5b9b4;color:#9c3027}.element-drag-help,.element-editor-status{grid-column:1;font-size:.69rem}.element-drag-help{color:var(--muted)}.element-editor-status{padding:.45rem .6rem;border-radius:7px;background:var(--surface-soft)}.element-editor-status.success{background:#edf8f0;color:#22633a}.element-editor-status.error{background:#fff0ee;color:#9c3027}@media (max-width:780px){.template-preview-modal{width:min(96vw,1040px)}.template-preview-workspace.has-sidebar{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;overflow-y:auto}.template-preview-sidebar{max-height:42vh;border-top:1px solid var(--border);border-left:0}.template-element-comment{grid-template-columns:1fr}.element-drag-help,.element-editor-status,.template-element-direct-controls{grid-column:1}}.template-preview-arrow{width:44px;height:44px;border:1px solid var(--border-strong);border-radius:50%;background:hsla(0,0%,100%,.9);color:var(--text);font-size:1.8rem;line-height:1;cursor:pointer}.template-preview-arrow:hover{background:#fff;transform:translateY(-1px)}.template-preview-thumbs{display:flex;gap:.6rem;padding:.75rem 1rem;overflow-x:auto;border-top:1px solid var(--border)}.template-preview-thumbs button{position:relative;flex:0 0 58px;height:72px;padding:0;overflow:hidden;border:2px solid transparent;border-radius:7px;background:#e4e8e4;cursor:pointer}.template-preview-thumbs button.active{border-color:var(--primary)}.template-preview-thumbs img{width:100%;height:100%;object-fit:cover}.template-preview-thumbs span{position:absolute;right:3px;bottom:3px;min-width:18px;padding:1px 4px;border-radius:999px;background:rgba(16,23,19,.78);color:#fff;font-size:.65rem}.campaign-page{max-width:1320px}.campaign-form-body{max-width:1120px}.campaign-alert-wrap{padding:1rem 1.25rem 0}.campaign-alert-wrap .alert{margin:0}.form-help{display:inline-block;color:var(--muted);font-size:.72rem;line-height:1.45}.campaign-upload-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.campaign-upload-card{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:.85rem;border:1px solid var(--border);border-radius:10px;background:#fafbf9}.campaign-upload-card strong{color:var(--text);font-size:.78rem}.campaign-upload-card small{min-height:2.2em;color:var(--muted);font-size:.68rem}.campaign-upload-card .btn{margin-top:.35rem}.asset-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:.9rem;gap:.9rem}.asset-library-grid.compact{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.asset-library-card{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:11px;background:var(--surface);box-shadow:0 1px 3px rgba(23,33,28,.04)}.asset-library-image{aspect-ratio:4/3;overflow:hidden;background:#edf1ed}.asset-library-image img{width:100%;height:100%;display:block;object-fit:cover}.asset-library-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:.15rem .5rem;gap:.15rem .5rem;padding:.7rem}.asset-library-meta strong{overflow:hidden;color:var(--text);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.asset-library-meta small{grid-column:1;color:var(--muted);font-size:.64rem;text-transform:capitalize}.asset-library-meta .btn{grid-column:2;grid-row:1/span 2}.asset-folder-page{max-width:1500px}.asset-folder-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:650px;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 8px 30px rgba(26,38,31,.06)}.asset-root-nav{padding:1rem .75rem;border-right:1px solid var(--border);background:#f8faf7}.asset-root-title{display:flex;align-items:baseline;justify-content:space-between;padding:.15rem .55rem .8rem}.asset-root-title strong{color:var(--text);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.asset-root-title small{color:var(--muted);font-size:.62rem}.asset-root-item{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;grid-gap:.65rem;gap:.65rem;margin-bottom:.3rem;padding:.62rem;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.asset-root-item:hover{border-color:#dbe3dd;background:#fff}.asset-root-item.selected{border-color:#c8dbce;background:#fff;box-shadow:0 2px 8px rgba(28,47,36,.05)}.asset-root-item>span:nth-child(2){min-width:0;display:grid;grid-gap:.1rem;gap:.1rem}.asset-root-item strong{font-size:.73rem}.asset-root-item small,.asset-root-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-root-item small{color:var(--muted);font-size:.62rem}.asset-root-item em{color:#7b8780;font-size:.62rem;font-style:normal}.asset-root-glyph{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#e5eee8;color:#315f45;font-size:.68rem;font-weight:750}.asset-root-glyph.campaign{background:#eee9df;color:#6e5837}.asset-folder-main{min-width:0;padding:1.25rem;background:#fcfdfb}.asset-folder-breadcrumb{display:flex;align-items:center;gap:.45rem;margin-bottom:1rem;color:var(--muted);font-size:.68rem}.asset-folder-breadcrumb i{color:#c1c9c3;font-style:normal}.asset-folder-breadcrumb strong{color:#5b6860;font-weight:600}.asset-folder-breadcrumb b{color:var(--text);font-weight:700}.asset-subfolder-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.65rem;gap:.65rem;margin-bottom:1rem}.asset-subfolder{min-width:0;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;grid-gap:.55rem;gap:.55rem;padding:.75rem;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);font:inherit;text-align:left;cursor:pointer}.asset-subfolder:hover{border-color:#bdccc2}.asset-subfolder.selected{border-color:#87aa94;box-shadow:0 0 0 2px rgba(65,116,82,.08)}.asset-subfolder>span{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:#edf3ee;color:var(--primary);font-size:.7rem;font-weight:750}.asset-subfolder>div{min-width:0;display:grid;grid-gap:.12rem;gap:.12rem}.asset-subfolder strong{font-size:.73rem}.asset-subfolder small{overflow:hidden;color:var(--muted);font-size:.6rem;text-overflow:ellipsis;white-space:nowrap}.asset-subfolder em{color:#77837b;font-size:.63rem;font-style:normal}.asset-folder-content{padding:1.1rem;border:1px solid var(--border);border-radius:11px;background:#fff}.asset-folder-content .record-list-toolbar{margin-bottom:1rem;padding:0 0 1rem;border-bottom:1px solid var(--border)}.asset-folder-content .record-list-toolbar h2{margin:.12rem 0 .25rem;font-size:1rem}.asset-folder-content .record-list-toolbar p{margin:0;color:var(--muted);font-size:.69rem}.asset-upload-actions{display:flex;align-items:center;gap:.55rem}.asset-upload-actions select{min-width:130px;height:36px;padding:0 .65rem;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text);font:inherit;font-size:.7rem}.asset-icon-note{margin:-.2rem 0 1rem;padding:.65rem .75rem;border:1px solid #d9e5dc;border-radius:8px;background:#f5f9f6;color:#607067;font-size:.67rem;line-height:1.5}.asset-icon-note strong{color:#3e5548;font-weight:650}.asset-library-image.icon-preview{display:grid;place-items:center;padding:1.5rem;background-color:#f2f4f1;background-image:linear-gradient(45deg,#e2e6e2 25%,transparent 0),linear-gradient(-45deg,#e2e6e2 25%,transparent 0),linear-gradient(45deg,transparent 75%,#e2e6e2 0),linear-gradient(-45deg,transparent 75%,#e2e6e2 0);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.asset-library-image.icon-preview img{width:72%;height:72%;object-fit:contain}.asset-folder-empty{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center}.asset-folder-empty>span{width:44px;height:44px;display:grid;place-items:center;margin-bottom:.6rem;border-radius:10px;background:#edf3ee;color:var(--primary);font-size:.75rem;font-weight:750}.asset-folder-empty strong{color:var(--text);font-size:.8rem}.asset-folder-empty p{max-width:340px;margin:.25rem 0 0;color:var(--muted);font-size:.68rem;text-align:center}.choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}.choice-card{min-height:50px;display:flex;align-items:center;gap:.55rem;padding:.65rem;border:1px solid var(--border);border-radius:9px;background:#fafbf9;color:#536059;font:inherit;font-size:.72rem;text-align:left;cursor:pointer}.choice-card:hover{border-color:#bdc9c1}.choice-card.selected{border-color:#96b7a3;background:var(--primary-soft);color:var(--primary);font-weight:650}.choice-dot{width:10px;height:10px;flex:0 0 auto;border:2px solid #a9b2ad;border-radius:50%;background:#fff}.choice-card.selected .choice-dot{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 2px #fff}.asset-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(115px,1fr));grid-gap:.65rem;gap:.65rem}.asset-picker-card{min-width:0;padding:0;overflow:hidden;border:2px solid transparent;border-radius:9px;background:#f0f3ef;color:var(--text);font:inherit;cursor:pointer;box-shadow:0 0 0 1px var(--border)}.asset-picker-card:hover{border-color:#c4d3c9}.asset-picker-card.selected{border-color:var(--primary);box-shadow:0 0 0 2px #dceade}.asset-picker-card img{width:100%;aspect-ratio:4/3;display:block;object-fit:cover}.asset-picker-card>span{display:flex;justify-content:space-between;gap:.3rem;padding:.45rem .5rem;color:var(--muted);font-size:.62rem;text-transform:capitalize}.asset-picker-card i{color:var(--primary);font-style:normal;font-weight:650}.asset-multi-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.55rem;padding:.55rem .65rem;border:1px solid #dbe5dd;border-radius:8px;background:#f7faf7;color:var(--muted);font-size:.65rem}.asset-multi-toolbar strong{color:var(--primary)}.asset-multi-toolbar>div{display:flex;gap:.35rem}.asset-multi-toolbar button{padding:.28rem .5rem;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);font:inherit;font-size:.61rem;cursor:pointer}.asset-picker-multiple .asset-picker-card{position:relative}.asset-picker-multiple .asset-picker-card:before{content:"";position:absolute;top:7px;right:7px;z-index:1;width:15px;height:15px;border:2px solid #fff;border-radius:4px;background:rgba(20,32,24,.45);box-shadow:0 1px 5px rgba(0,0,0,.25)}.asset-picker-multiple .asset-picker-card.selected:before{content:"✓";display:grid;place-items:center;border-color:var(--primary);background:var(--primary);color:#fff;font-size:10px;line-height:1}.tenant-template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-gap:.75rem;gap:.75rem;max-height:580px;padding:2px;overflow-y:auto}.tenant-template-card{min-width:0;padding:0;overflow:hidden;border:2px solid transparent;border-radius:11px;background:#fff;color:var(--text);font:inherit;text-align:left;cursor:pointer;box-shadow:0 0 0 1px var(--border),0 2px 7px rgba(23,33,28,.05);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.tenant-template-card:hover{transform:translateY(-2px);box-shadow:0 0 0 1px #c5d0c8,0 8px 18px rgba(23,33,28,.09)}.tenant-template-card.selected{border-color:var(--primary);box-shadow:0 0 0 2px #dceade,0 6px 15px rgba(23,33,28,.08)}.tenant-template-preview{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#e7ece8}.tenant-template-preview>img{width:100%;height:100%;display:block;object-fit:cover}.tenant-template-preview>em{position:absolute;right:7px;bottom:7px;padding:.22rem .42rem;border-radius:5px;background:rgba(18,26,21,.82);color:#fff;font-size:.59rem;font-style:normal}.tenant-template-placeholder{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#e9efe9,#c9d9cf)}.tenant-template-placeholder i{position:absolute;width:145%;height:45%;background:hsla(0,0%,100%,.5);transform:rotate(-18deg)}.tenant-template-placeholder b{z-index:1;display:grid;width:46px;height:46px;place-items:center;border:1px solid rgba(45,75,57,.22);border-radius:50%;background:hsla(0,0%,100%,.72);color:var(--primary);font-size:.75rem}.tenant-template-copy{display:grid;grid-gap:.15rem;gap:.15rem;padding:.7rem}.tenant-template-copy strong{font-size:.74rem}.tenant-template-copy small,.tenant-template-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-template-copy small{color:var(--muted);font-size:.62rem}.tenant-template-copy i{margin-top:.25rem;color:var(--primary);font-size:.63rem;font-style:normal;font-weight:670}.inline-empty{padding:.8rem;border:1px dashed var(--border-strong);border-radius:9px;background:#fafbf9;color:var(--muted);font-size:.74rem}.inline-empty a{color:var(--primary);font-weight:650}.field-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}.field-check-card{display:flex;align-items:flex-start;gap:.65rem;min-height:64px;padding:.7rem;border:1px solid var(--border);border-radius:9px;background:#fafbf9;cursor:pointer}.field-check-card:has(input:checked){border-color:#c6dacd;background:#f2f8f3}.field-check-card input{width:auto;min-height:0;margin:.18rem 0 0;accent-color:var(--primary)}.field-check-card span{display:grid;grid-gap:.14rem;gap:.14rem}.field-check-card strong{color:var(--text);font-size:.75rem}.field-check-card small{color:var(--muted);font-size:.66rem;font-weight:400}.details-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.65rem;gap:.65rem}.details-summary>div{min-width:0;padding:.75rem;border:1px solid var(--border);border-radius:9px;background:#fafbf9}.details-summary>div>span{color:var(--muted);font-size:.62rem;font-weight:720;letter-spacing:.05em;text-transform:uppercase}.details-summary p{margin:.35rem 0 0;color:var(--text);font-size:.75rem;line-height:1.45}.detail-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.detail-chips em{padding:.25rem .45rem;border-radius:6px;background:#edf2ee;color:#4e5c54;font-size:.66rem;font-style:normal}.campaign-generation-section{margin-top:1.25rem}.campaign-generation-section .record-list-toolbar{padding-bottom:1rem;border-bottom:1px solid var(--border)}.campaign-runs{display:grid;grid-gap:1.2rem;gap:1.2rem}.campaign-run{padding-bottom:1.2rem;border-bottom:1px solid var(--border)}.campaign-run:last-child{padding-bottom:0;border-bottom:0}.campaign-run-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.campaign-run-head>div{display:grid;grid-gap:.12rem;gap:.12rem}.campaign-run-head strong{font-size:.78rem}.campaign-run-head small{color:var(--muted);font-size:.67rem}.campaign-run-head .campaign-run-actions{display:flex;align-items:center;gap:.55rem}.campaign-poster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:.75rem;gap:.75rem}.campaign-poster-card{overflow:hidden;border:1px solid var(--border);border-radius:9px;background:#fff;box-shadow:0 2px 7px rgba(23,33,28,.06)}.campaign-poster-grid a{position:relative;display:block;overflow:hidden;background:#eef1ed}.campaign-poster-grid img{width:100%;aspect-ratio:4/5;display:block;object-fit:cover;transition:transform .18s ease}.campaign-poster-grid a:hover img{transform:scale(1.015)}.campaign-poster-grid span{position:absolute;right:7px;bottom:7px;padding:.2rem .42rem;border-radius:5px;background:rgba(17,25,20,.8);color:#fff;font-size:.62rem}.campaign-poster-delete{width:100%;padding:.52rem .65rem;border:0;border-top:1px solid var(--border);background:#fff;color:#a43e36;font:inherit;font-size:.68rem;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease}.campaign-render-values{display:grid;grid-gap:.9rem;gap:.9rem;margin:.2rem 0 1rem;padding:1rem;border:1px solid #d5e1d8;border-radius:11px;background:#f7faf7}.campaign-render-values h3{margin:.12rem 0;font-size:.9rem}.campaign-render-values p,.campaign-render-values>small{margin:.2rem 0 0;color:var(--muted);font-size:.67rem;line-height:1.5}.campaign-render-value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.7rem;gap:.7rem}.campaign-render-value-grid .field{margin:0}.campaign-render-value-grid .field>span{display:block;margin-bottom:.3rem;color:#526159;font-size:.65rem;font-weight:650}.campaign-render-value-grid input,.campaign-render-value-grid textarea{width:100%}.campaign-render-disclaimer{grid-column:1/-1}.campaign-poster-delete:hover:not(:disabled){background:#fff1ef;color:#7f2c26}.campaign-poster-delete:disabled{cursor:not-allowed;opacity:.55}.campaign-poster-adjust{width:100%;padding:.55rem .65rem;border:0;border-top:1px solid var(--border);background:#f4f8f5;color:var(--primary);font:inherit;font-size:.69rem;font-weight:780;cursor:pointer}.campaign-poster-adjust:hover:not(:disabled){background:#e9f2ed}.campaign-poster-adjust:disabled{cursor:not-allowed;opacity:.55}.campaign-quick-editor-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px;background:rgba(18,27,23,.68);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.campaign-quick-editor{width:min(1180px,96vw);max-height:94vh;overflow:auto;border:1px solid #d8e1dc;border-radius:18px;background:#f8faf9;box-shadow:0 28px 80px rgba(10,20,15,.32)}.campaign-quick-editor>header{position:-webkit-sticky;position:sticky;top:0;z-index:4;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 22px;border-bottom:1px solid #dfe7e2;background:hsla(0,0%,100%,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.campaign-quick-editor>header h2{margin:2px 0 3px;font-size:1.2rem}.campaign-quick-editor>header p{margin:0;color:var(--muted);font-size:.72rem}.campaign-quick-editor>header>button{width:34px;height:34px;border:1px solid var(--border);border-radius:50%;background:#fff;color:#425047;font-size:1.3rem;line-height:1;cursor:pointer}.campaign-quick-editor>.alert{margin:14px 20px 0}.campaign-quick-editor-body{display:grid;grid-template-columns:minmax(420px,1.45fr) minmax(300px,.75fr);grid-gap:18px;gap:18px;padding:20px}.campaign-quick-canvas-wrap{display:grid;align-content:start;justify-items:center;grid-gap:8px;gap:8px}.campaign-quick-canvas-wrap>small{color:var(--muted);font-size:.69rem}.campaign-quick-canvas{position:relative;width:min(100%,620px);aspect-ratio:4/5;overflow:hidden;border-radius:13px;background:#e8edea;box-shadow:0 12px 34px rgba(22,37,29,.15)}.campaign-quick-canvas>img{width:100%;height:100%;display:block;object-fit:cover}.campaign-quick-canvas.rendering:after{content:"Updating preview…";position:absolute;inset:auto 14px 14px;z-index:3;padding:7px 10px;border-radius:7px;background:rgba(13,27,20,.8);color:#fff;font-size:.68rem;text-align:center}.campaign-quick-hotspot{position:absolute;z-index:2;min-width:10px;min-height:8px;border:1.5px dashed hsla(0,0%,100%,.82);background:rgba(28,115,78,.08);cursor:pointer;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.campaign-quick-hotspot.selected,.campaign-quick-hotspot:hover{border:2px solid #e8bd69;background:hsla(40,73%,66%,.16);box-shadow:0 0 0 2px rgba(22,35,28,.4)}.campaign-quick-hotspot span{position:absolute;left:-1px;top:-20px;display:none;padding:3px 6px;border-radius:4px;background:#17251e;color:#fff;white-space:nowrap;font-size:9px;font-weight:750}.campaign-quick-hotspot.selected span,.campaign-quick-hotspot:hover span{display:block}.campaign-quick-panel{display:grid;align-content:start;grid-gap:14px;gap:14px;padding:17px;border:1px solid #dce5e0;border-radius:13px;background:#fff}.campaign-quick-selection{display:grid;grid-gap:2px;gap:2px;padding-bottom:12px;border-bottom:1px solid #e5ebe7}.campaign-quick-selection span{color:var(--muted);font-size:.63rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.campaign-quick-selection strong{font-size:.95rem}.campaign-quick-selection small{color:var(--muted);font-size:.65rem}.campaign-quick-range{display:grid;grid-gap:8px;gap:8px;color:#3d4b43;font-size:.72rem;font-weight:700}.campaign-quick-range span{display:flex;justify-content:space-between;gap:12px}.campaign-quick-range input{width:100%;accent-color:var(--primary)}.campaign-quick-colour{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.72rem;font-weight:700}.campaign-quick-colour input{width:58px;height:34px;padding:2px;border:1px solid var(--border);border-radius:7px;background:#fff}.campaign-quick-toggles{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px}.campaign-quick-toggles button{min-height:36px;border:1px solid var(--border);border-radius:7px;background:#fff;color:#48564e;font:inherit;font-size:.65rem;cursor:pointer}.campaign-quick-toggles button.active{border-color:var(--primary);background:#eaf3ee;color:var(--primary)}.campaign-quick-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;padding-top:4px}.campaign-quick-undo{padding:8px;border:0;border-top:1px solid #e5ebe7;background:transparent;color:#7b4f2b;font:inherit;font-size:.66rem;font-weight:700;cursor:pointer}@media (max-width:820px){.campaign-quick-editor-backdrop{padding:8px}.campaign-quick-editor{width:100%;max-height:98vh}.campaign-quick-editor-body{grid-template-columns:1fr;padding:12px}.campaign-quick-canvas{width:min(100%,520px)}}.campaign-message-summary{grid-column:1/-1}.campaign-message-summary>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:.6rem;gap:.6rem;margin-top:.45rem}.campaign-message-summary article{padding:.72rem .78rem;border:1px solid var(--border);border-radius:8px;background:#fbfcfa}.campaign-message-summary article strong{display:block;color:var(--ink);font-size:.76rem}.campaign-message-summary article p{margin:.28rem 0 0;color:var(--muted);font-size:.69rem;line-height:1.45}.campaign-message-summary>small{display:block;margin-top:.65rem;color:var(--primary);font-size:.66rem;font-weight:650}.campaign-footer-link{margin:1rem 0 0;text-align:right;font-size:.72rem}.campaign-footer-link a{color:var(--primary);font-weight:650}.admin-page>.section.card,.tenant-profile-card{margin-bottom:1.25rem}.business-source-panel{margin:1rem 0 1.35rem;padding:1rem;border:1px solid #dce6df;border-radius:11px;background:#f4f8f5}.business-source-panel textarea{background:#fff}.profile-subheading{margin:1.6rem 0 1rem;padding-top:1.2rem;border-top:1px solid var(--border);color:var(--text);font-size:.86rem}.business-profile-summary{margin:1rem 0 1.4rem;padding:1rem;border:1px solid #cfe0d5;border-radius:11px;background:#f7faf7}.business-profile-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.business-profile-summary-head h3{margin:0;font-size:.95rem}.business-profile-summary-head .section-kicker{margin-bottom:.2rem}.profile-ready{padding:.28rem .5rem;border-radius:999px;background:#deeee3;color:#286641;font-size:.64rem;font-weight:700;white-space:nowrap}@media (max-width:900px){.asset-folder-shell{grid-template-columns:1fr}.asset-root-nav{display:flex;gap:.4rem;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border)}.asset-root-title{display:none}.asset-root-item{min-width:190px;margin:0}.asset-subfolder-grid,.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-upload-row{grid-template-columns:1fr}.campaign-upload-card small{min-height:0}}@media (max-width:640px){.asset-folder-main{padding:.8rem}.asset-subfolder-grid{grid-template-columns:1fr 1fr}.asset-subfolder small{display:none}.asset-folder-content{padding:.8rem}.asset-upload-actions{width:100%;align-items:stretch;flex-direction:column}.asset-upload-actions .btn,.asset-upload-actions select{width:100%}.choice-grid,.details-summary,.field-check-grid{grid-template-columns:1fr}}.tenant-owned-template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:1rem;gap:1rem}.tenant-owned-template-grid>a{overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text);text-decoration:none;box-shadow:0 3px 14px rgba(23,33,28,.05);transition:transform .15s ease,border-color .15s ease}.tenant-owned-template-grid>a:hover{transform:translateY(-2px);border-color:#9ab2a1}.tenant-owned-template-grid>a>span{height:180px;display:grid;place-items:center;overflow:hidden;background:#edf1ed}.tenant-owned-template-grid img{width:100%;height:100%;object-fit:cover}.tenant-owned-template-grid i{width:54px;height:54px;display:grid;place-items:center;border-radius:12px;background:var(--primary);color:#fff;font-style:normal;font-weight:750}.tenant-owned-template-grid>a>div{display:grid;grid-gap:.25rem;gap:.25rem;padding:.85rem}.tenant-owned-template-grid strong{font-size:.82rem}.tenant-owned-template-grid small{color:var(--muted);font-size:.67rem}.tenant-owned-template-grid em{color:var(--primary);font-size:.63rem;font-style:normal}.tenant-template-editor-page{max-width:1500px}.tenant-template-head{margin-bottom:1rem;border:1px solid var(--border);border-radius:12px;background:#fff}.tenant-template-workbench{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:1rem;gap:1rem;align-items:start;margin-bottom:1rem}.tenant-template-canvas-column{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#172019;box-shadow:0 8px 28px rgba(20,31,24,.1)}.tenant-template-canvas{position:relative;width:min(100%,620px);margin:1rem auto;line-height:0}.tenant-template-canvas>img{width:100%;height:auto;display:block}.tenant-element-hit{position:absolute;padding:0;border:1px dashed hsla(0,0%,100%,.52);background:rgba(33,105,67,.04);cursor:pointer}.tenant-element-hit.selected,.tenant-element-hit:hover{z-index:3;border:2px solid #ffd25f;background:rgba(255,210,95,.09);box-shadow:0 0 0 1px rgba(0,0,0,.3)}.tenant-element-hit.movable{cursor:-webkit-grab;cursor:grab;touch-action:none}.tenant-element-hit.movable:active{cursor:-webkit-grabbing;cursor:grabbing}.tenant-element-resize-handle{position:absolute;z-index:8;width:17px;height:17px;padding:0;border:2px solid #fff;border-radius:4px;background:#d39a12;box-shadow:0 1px 6px rgba(10,18,13,.5);cursor:nwse-resize;touch-action:none;transform:translate(-50%,-50%)}.tenant-element-resize-handle:hover{background:#b77d00;transform:translate(-50%,-50%) scale(1.12)}.tenant-element-hit span{position:absolute;top:-18px;left:-1px;padding:3px 5px;border-radius:3px 3px 0 0;background:rgba(18,29,22,.88);color:#fff;font-size:9px;line-height:1;white-space:nowrap}.tenant-element-panel{position:-webkit-sticky;position:sticky;top:1rem;max-height:calc(100vh - 2rem);min-height:510px;overflow-y:auto;padding:1rem;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 5px 20px rgba(23,33,28,.06)}.tenant-panel-title{display:grid;grid-gap:.18rem;gap:.18rem;padding-bottom:.8rem;border-bottom:1px solid var(--border)}.tenant-panel-title span{color:var(--primary);font-size:.6rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.tenant-panel-title strong{font-size:.95rem}.tenant-panel-title small{color:var(--muted);font-size:.63rem}.tenant-element-panel .field{margin-top:.8rem;margin-bottom:0}.tenant-element-panel .field>span{display:block;margin-bottom:.3rem;color:#59665e;font-size:.65rem;font-weight:650}.tenant-element-panel input,.tenant-element-panel select{width:100%}.tenant-layer-heading{margin-top:.9rem;padding-top:.75rem;border-top:1px solid var(--border)}.tenant-layer-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:.38rem;gap:.38rem;margin-top:.45rem}.tenant-layer-list button{min-width:0;display:grid;grid-gap:.12rem;gap:.12rem;padding:.48rem .52rem;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text);text-align:left;cursor:-webkit-grab;cursor:grab}.tenant-layer-list button.active,.tenant-layer-list button:hover{border-color:#739a80;background:#eef5f0}.tenant-layer-list button:disabled{opacity:.45;cursor:not-allowed}.tenant-layer-list button.removed{border-style:dashed;border-color:#c8a77a;background:#fffaf2;color:#785c32}.tenant-layer-list button.removed small{color:#9a7440}.tenant-layer-list span{font-size:.61rem;font-weight:700}.tenant-layer-list small,.tenant-layer-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-layer-list small{color:var(--muted);font-size:.52rem;text-transform:capitalize}.tenant-control-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.65rem;gap:.65rem}.tenant-toggle-row{display:flex;flex-wrap:wrap;gap:.65rem;margin:.9rem 0;color:#526159;font-size:.66rem}.tenant-toggle-row label{display:flex;align-items:center;gap:.3rem}.tenant-option-section{display:grid;grid-gap:.7rem;gap:.7rem;margin-top:.85rem;padding:.78rem;border:1px solid #dde6df;border-radius:9px;background:#fafcf9}.tenant-option-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.tenant-option-heading strong{color:var(--text);font-size:.72rem}.tenant-option-heading small{color:var(--muted);font-size:.57rem;text-align:right}.tenant-option-section .field{margin:0}.tenant-range-field{display:grid;grid-gap:.35rem;gap:.35rem}.tenant-range-field>span{display:flex;justify-content:space-between;color:#59665e;font-size:.64rem;font-weight:650}.tenant-range-field b{color:var(--primary);font-size:.61rem}.tenant-range-field input{accent-color:var(--primary)}.tenant-colour-field{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#59665e;font-size:.65rem;font-weight:650}.tenant-colour-field input{width:54px;height:34px;padding:2px;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer}.tenant-style-buttons{display:grid;grid-template-columns:1fr 1fr;grid-gap:.38rem;gap:.38rem}.tenant-background-toggle,.tenant-size-buttons button,.tenant-style-buttons button{min-height:34px;padding:.4rem .55rem;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text);font:inherit;font-size:.62rem;cursor:pointer}.tenant-background-toggle.active,.tenant-style-buttons button.active{border-color:#739a80;background:#e8f1eb;color:var(--primary)}.tenant-background-toggle{width:100%}.tenant-size-buttons{display:grid;grid-template-columns:1fr 1fr;grid-gap:.4rem;gap:.4rem;margin-top:.45rem}.tenant-delete-element{width:100%;margin-top:.65rem;padding:.58rem;border:1px solid #e4b9b4;border-radius:7px;background:#fff5f3;color:#a33c33;font:inherit;font-size:.64rem;font-weight:700;cursor:pointer}.tenant-nudge-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.35rem;gap:.35rem}.tenant-nudge-grid>span{grid-column:1/-1;color:#59665e;font-size:.65rem;font-weight:650}.tenant-nudge-grid button{min-height:32px;border:1px solid var(--border);border-radius:6px;background:#f7f9f6;color:var(--text);cursor:pointer}.tenant-nudge-grid button:nth-last-child(-n+2){grid-column:span 2;font-size:.64rem}.tenant-drag-help{display:block;margin-top:.7rem;color:var(--muted);font-size:.63rem;line-height:1.45}.tenant-panel-actions{display:grid;grid-template-columns:1fr 1.4fr;grid-gap:.5rem;gap:.5rem;margin-top:1rem}.tenant-promote{width:100%;margin-top:.55rem}.tenant-panel-empty{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);text-align:center}.tenant-panel-empty strong{color:var(--text);font-size:.85rem}.tenant-panel-empty p{max-width:230px;font-size:.7rem;line-height:1.5}.tenant-draft-session{position:-webkit-sticky;position:sticky;bottom:-1rem;z-index:12;display:grid;grid-gap:.65rem;gap:.65rem;margin:1rem -1rem -1rem;padding:.85rem 1rem 1rem;border-top:1px solid var(--border);background:hsla(0,0%,100%,.97);box-shadow:0 -7px 18px rgba(23,33,28,.06);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tenant-draft-session.active{border-top-color:#b9d0c0;background:rgba(246,251,247,.98)}.tenant-draft-session>div:first-child{display:grid;grid-gap:.15rem;gap:.15rem}.tenant-draft-session span{color:var(--primary);font-size:.57rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.tenant-draft-session strong{color:var(--text);font-size:.72rem}.tenant-draft-session small{color:var(--muted);font-size:.59rem;line-height:1.4}.tenant-draft-actions{display:grid;grid-template-columns:.75fr 1fr 1.25fr;grid-gap:.38rem;gap:.38rem}.tenant-draft-actions .btn{min-width:0;padding-inline:.48rem;font-size:.62rem}.tenant-feedback-section,.tenant-history-section,.tenant-rule-section{margin-top:1rem;padding:1.1rem}.master-rule-grid,.tenant-rule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.7rem;gap:.7rem}.master-rule-grid article,.tenant-rule-grid article{padding:.75rem;border:1px solid var(--border);border-radius:9px;background:#fafbf9}.master-rule-grid article>strong,.tenant-rule-grid article>strong{display:block;margin-bottom:.5rem;color:var(--text);font-size:.72rem}.tenant-rule-grid .field{margin:.35rem 0 0}.master-rule-grid label,.tenant-rule-grid .field span{display:grid;grid-template-columns:1fr 70px;align-items:center;grid-gap:.4rem;gap:.4rem;margin-top:.35rem;color:var(--muted);font-size:.61rem}.master-rule-grid input{width:70px}.tenant-feedback-section textarea{width:100%;margin:.6rem 0}.tenant-feedback-section h2{margin:.15rem 0;font-size:1rem}.tenant-feedback-section p{margin:.3rem 0;color:var(--muted);font-size:.7rem}.tenant-history-section>div:last-child{display:grid}.tenant-history-section article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 0;border-top:1px solid var(--border)}.tenant-history-section article>span{display:grid;grid-gap:.16rem;gap:.16rem}.tenant-history-section strong{font-size:.72rem}.tenant-history-section small{color:var(--muted);font-size:.62rem}.tenant-template-edit-callout{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.8rem 0 1rem;padding:.8rem;border:1px solid #cfe0d5;border-radius:9px;background:#f5f9f6}.tenant-template-edit-callout strong{font-size:.72rem}.tenant-template-edit-callout p{margin:.15rem 0 0;color:var(--muted);font-size:.64rem}.tenant-template-actions{display:flex;justify-content:flex-end;margin-bottom:.65rem}.tenant-private-template-panel{display:grid;grid-gap:.75rem;gap:.75rem;margin:0 0 .85rem;padding:.9rem;border:1px solid #cfdcd2;border-radius:10px;background:#f8fbf8}.tenant-private-template-panel h4{margin:0;font-size:.78rem}.admin-tenant-template-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:.55rem;gap:.55rem}.admin-tenant-template-list article{display:grid;align-content:space-between;grid-gap:.45rem;gap:.45rem;padding:.55rem;border:1px solid var(--border);border-radius:8px;background:#fff}.admin-tenant-template-list a{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.15rem;color:var(--text);text-decoration:none}.admin-tenant-template-list article:hover{border-color:#9fb7a6}.admin-tenant-template-list span{display:grid;grid-gap:.15rem;gap:.15rem}.admin-tenant-template-list strong{font-size:.7rem}.admin-tenant-template-list small{color:var(--muted);font-size:.61rem}.admin-tenant-template-list em{color:var(--primary);font-size:.61rem;font-style:normal}.template-support-inbox{margin-top:1rem}.template-support-inbox h4{margin:0 0 .5rem;font-size:.75rem}.template-support-inbox article{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem 0;border-top:1px solid var(--border)}.template-support-inbox article>div{min-width:0}.template-support-inbox strong{margin-left:.4rem;font-size:.7rem}.template-support-inbox p{margin:.3rem 0;font-size:.68rem}.template-support-inbox small{color:var(--muted);font-size:.6rem}@media (max-width:1000px){.tenant-template-workbench{grid-template-columns:1fr}.tenant-element-panel{position:static}.master-rule-grid,.tenant-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.admin-tenant-template-list,.master-rule-grid,.tenant-rule-grid{grid-template-columns:1fr}.tenant-template-edit-callout{align-items:stretch;flex-direction:column}.tenant-template-canvas{margin:.5rem auto}.tenant-element-panel{min-height:0}}.record-form-body{max-width:980px;padding:0 1.5rem 2rem}.record-form-section{display:grid;grid-template-columns:minmax(170px,.34fr) minmax(0,1fr);grid-gap:clamp(1.5rem,4vw,3.5rem);gap:clamp(1.5rem,4vw,3.5rem);padding:1.75rem 0;border-bottom:1px solid var(--border)}.record-form-section:last-child{border-bottom:0}.record-form-section-head h3{margin:0;color:var(--text);font-size:.9rem}.record-form-section-head p{margin:.35rem 0 0;color:var(--muted);font-size:.73rem}.record-form-fields{min-width:0}.record-form-fields .field:last-child{margin-bottom:0}.record-form-fields input:disabled,.record-form-fields select:disabled{background:#f2f4f1;color:#838c87;cursor:not-allowed}.area-picker{gap:.45rem}.area-option{width:auto;min-height:34px;margin:0;padding:.38rem .65rem;display:inline-flex;align-items:center;gap:.42rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle);color:#56615b;font-size:.78rem;font-weight:550;cursor:pointer}.area-option:has(input:checked){border-color:#bad1c3;background:var(--primary-soft);color:var(--primary)}.area-option input{width:auto;min-height:0;margin:0;accent-color:var(--primary)}.record-preview{width:160px;max-height:200px;margin-bottom:1rem;object-fit:cover;border:1px solid var(--border);border-radius:9px}.record-preview-wide{width:240px;aspect-ratio:4/3}.creation-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.creation-method{min-height:112px;padding:1rem;display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.creation-method:hover{border-color:#b9c8be;box-shadow:var(--shadow)}.creation-method.active{border-color:#95b6a3;background:var(--primary-soft);box-shadow:inset 0 0 0 1px #bad0c2}.creation-method strong{font-size:.86rem}.creation-method span{color:var(--muted);font-size:.74rem;line-height:1.45}.reference-workflow{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;color:#6b766f;font-size:.72rem}.reference-workflow span{padding:.42rem .66rem;border:1px solid #d8e2db;border-radius:999px;background:#fff;color:#294b39;font-weight:700}.reference-workflow i{font-style:normal;color:#9aa79f}.reference-source-preview{position:relative;width:min(280px,100%);margin:.75rem 0 1rem;overflow:hidden;border:1px solid #d9e1dc;border-radius:12px;background:#eef2ef}.reference-source-preview img{display:block;width:100%;max-height:360px;object-fit:contain}.reference-source-preview span{position:absolute;left:8px;bottom:8px;padding:4px 7px;border-radius:6px;background:rgba(20,31,25,.78);color:#fff;font-size:.66rem}.reference-analysis-result{display:grid;grid-gap:1rem;gap:1rem}.reference-review-grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(260px,1.15fr);grid-gap:1rem;gap:1rem;align-items:start}.reference-review-poster{position:relative;overflow:hidden;border-radius:12px;background:#e8eeea;box-shadow:0 12px 30px rgba(27,47,36,.1)}.reference-review-poster>img{display:block;width:100%;height:auto}.reference-review-poster>button{position:absolute;min-width:22px;min-height:18px;padding:0;border:1.5px solid hsla(0,0%,100%,.88);background:rgba(31,105,69,.16);box-shadow:0 0 0 1px rgba(20,66,44,.48);cursor:pointer}.reference-review-poster>button.selected{border-color:#ffd66b;background:rgba(255,199,54,.24);box-shadow:0 0 0 2px #365f49}.reference-review-poster>button b{position:absolute;top:-9px;left:-5px;padding:2px 4px;border-radius:4px;background:#244c37;color:#fff;font-size:.55rem}.reference-detection-list{display:grid;grid-gap:.42rem;gap:.42rem;max-height:520px;overflow:auto}.reference-detection-list-wide{grid-template-columns:repeat(2,minmax(0,1fr));max-height:430px;padding-right:.2rem}.reference-detection-list>button{display:flex;gap:.65rem;align-items:center;width:100%;padding:.62rem;border:1px solid #dce4df;border-radius:9px;background:#fff;color:#26362d;text-align:left;cursor:pointer}.reference-detection-list>button.selected{border-color:#759c86;background:#edf5f0}.reference-detection-list>button>b{min-width:38px;color:#3e7458;font-size:.66rem}.reference-detection-list span{display:grid;grid-gap:.12rem;gap:.12rem}.reference-detection-list strong{text-transform:capitalize;font-size:.77rem}.reference-detection-list small{color:#738078;font-size:.65rem}.reference-warnings{padding:.85rem 1rem;border-left:3px solid #c79a37;border-radius:6px;background:#faf7ed;color:#685b3e}.reference-warnings p{margin:.28rem 0 0;font-size:.7rem;line-height:1.45}@media (max-width:800px){.reference-detection-list-wide,.reference-review-grid{grid-template-columns:1fr}}.field-help{margin:-.55rem 0 1rem;color:var(--muted);font-size:.7rem}.draft-note{margin-top:.2rem;padding:.75rem .85rem;border:1px solid #dce6df;border-radius:9px;background:#f3f6f3;color:#59655e;font-size:.75rem}.draft-note strong{color:var(--primary)}@media (max-width:1100px){.admin-stats-grid,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.app-shell{display:block}.mobile-header{height:62px;padding:0 1.1rem;position:fixed;inset:0 0 auto;z-index:25;display:flex;align-items:center;gap:.9rem;background:hsla(90,25%,98%,.96);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-menu-button{width:34px;height:34px;padding:7px;border-radius:8px;display:flex;flex-direction:column;justify-content:center;gap:4px}.mobile-menu-button:hover{background:#eef1ed}.mobile-menu-button span{display:block;width:19px;height:1.5px;background:currentColor}.mobile-brand{color:var(--text);font-weight:700}.mobile-brand:hover{text-decoration:none}.app-sidebar{width:min(var(--sidebar-width),calc(100vw - 44px));position:fixed;inset:0 auto 0 0;transform:translateX(-102%);transition:transform .18s ease;box-shadow:18px 0 40px rgba(23,33,28,.12)}.app-sidebar.open{transform:translateX(0)}.sidebar-close{display:block}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:29;border:0;background:rgba(18,27,22,.28);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.app-content{padding-top:62px}.app-shell .design-toolbar{top:62px}.container{padding-top:1.7rem}.record-editor-toolbar{align-items:flex-start;flex-direction:column}.record-editor-actions{width:100%;justify-content:flex-start;flex-wrap:wrap;padding-left:3rem}}@media (max-width:640px){.container{padding:1.35rem 1rem 3rem}.admin-page-head{gap:1rem;margin-bottom:1.25rem}.system-status{display:none}.admin-stats-grid,.grid-3{grid-template-columns:1fr}.admin-stat-card{min-height:142px}.record-list-toolbar,.section-head{align-items:flex-start}.record-list-toolbar .btn{white-space:nowrap}.record-editor{margin:0 -.25rem}.record-editor-toolbar,.record-form-body{padding-left:1rem;padding-right:1rem}.record-editor-actions{padding-left:0}.record-editor-actions .btn{flex:1 1}.saved-indicator{width:100%}.record-form-section{gap:1rem;padding:1.35rem 0}.creation-methods,.record-form-section{grid-template-columns:1fr}}.tenant-builder-canvas{outline:2px dashed transparent;outline-offset:6px;transition:outline-color .18s,opacity .18s}.tenant-builder-canvas:has(.field-element:active){outline-color:#c49a50}.tenant-builder-canvas.saving{opacity:.62;pointer-events:none}.tenant-element-hit.field-element{cursor:-webkit-grab;cursor:grab}.tenant-element-hit.field-element:active{cursor:-webkit-grabbing;cursor:grabbing}.tenant-element-palette{margin:-1rem -1rem 1rem;padding:1rem;border-bottom:1px solid #e2e8e5;background:linear-gradient(180deg,#f8faf9,#fff)}.tenant-palette-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:10px}.tenant-palette-grid button{display:flex;align-items:center;gap:8px;min-height:42px;padding:9px 10px;border:1px solid #d7e0dc;border-radius:9px;background:#fff;color:#29483f;font-size:12px;font-weight:750;text-align:left;cursor:-webkit-grab;cursor:grab;box-shadow:0 2px 7px rgba(25,50,41,.04)}.tenant-palette-grid button:hover{border-color:#b48b43;background:#fffcf6}.tenant-palette-grid button:active{cursor:-webkit-grabbing;cursor:grabbing}.tenant-palette-icon{flex:0 0 18px;width:18px;height:14px;border:2px solid #52746a;border-radius:3px}.tenant-palette-icon.kind-textarea{height:18px}.tenant-palette-icon.kind-image,.tenant-palette-icon.kind-social_icon{border-radius:50%}.tenant-remove-drop{display:grid;grid-gap:2px;gap:2px;margin-top:12px;padding:11px 12px;border:1px dashed #c99d96;border-radius:9px;background:#fff8f7;color:#7f4138}.tenant-remove-drop strong{font-size:12px}.tenant-remove-drop span{color:#966c65;font-size:11px;line-height:1.35}.tenant-layout-policy{margin-bottom:1rem;background:#f8faf9}.tenant-layout-policy-actions{display:grid;grid-template-columns:1fr 1.2fr;grid-gap:7px;gap:7px}.tenant-element-panel textarea{width:100%;resize:vertical}.tenant-lock-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.tenant-lock-grid label{display:flex;align-items:center;gap:7px;min-height:34px;padding:7px 8px;border:1px solid #dde6e1;border-radius:7px;background:#fff;color:#486057;font-size:11px;cursor:pointer}.tenant-lock-grid input{width:auto;accent-color:var(--primary)}.tenant-align-actions,.tenant-measure-actions,.tenant-preview-presets{display:flex;flex-wrap:wrap;gap:6px}.tenant-align-actions button,.tenant-measure-actions button,.tenant-preview-presets button{min-height:31px;padding:6px 9px;border:1px solid #d8e1dd;border-radius:7px;background:#fff;color:#36564b;font:inherit;font-size:10px;font-weight:700;cursor:pointer}.tenant-align-actions button:hover,.tenant-measure-actions button:hover,.tenant-preview-presets button:hover{border-color:#aa8543;background:#fffcf6}.tenant-measure-actions button:disabled{opacity:.45;cursor:not-allowed}.tenant-content-count{display:block;color:#718078;font-size:10px;line-height:1.4}.tenant-measure-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:7px;gap:7px}.tenant-measure-grid label{display:grid;grid-gap:3px;gap:3px;color:#617067;font-size:10px;font-weight:700}.tenant-measure-grid label>div{display:flex;align-items:center;overflow:hidden;border:1px solid #d7e1dc;border-radius:7px;background:#fff}.tenant-measure-grid input{min-width:0;padding:7px 3px 7px 8px;border:0;background:transparent;font-size:11px}.tenant-measure-grid em{padding-right:7px;color:#819088;font-size:9px;font-style:normal}.tenant-align-actions{display:grid;grid-template-columns:repeat(3,1fr)}.tenant-measurement-section{background:#fbfaf6;border-color:#e6ddc9}.tenant-decoration-delete-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:7px;gap:7px;margin-top:.65rem}.tenant-decoration-delete-actions .tenant-delete-element{margin-top:0}.campaign-dynamic-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.campaign-dynamic-field{display:grid;grid-template-columns:minmax(0,1fr) 180px;grid-gap:10px;gap:10px;align-items:center;border:1px solid #dfe7e4;background:#fbfcfc;border-radius:12px;padding:14px}.campaign-dynamic-field>div{display:grid}.campaign-dynamic-field>div span{color:#7a8783;font-size:12px;text-transform:capitalize}.campaign-dynamic-field input,.campaign-dynamic-field textarea{grid-column:1/-1;width:100%;border:1px solid #d5dfdb;border-radius:9px;padding:10px 12px;background:#fff}.campaign-dynamic-field select{border:1px solid #d5dfdb;border-radius:9px;padding:9px 10px;background:#fff}.smart-design-choice{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;padding:17px 18px;border:1px solid #cfdad5;border-radius:14px;background:linear-gradient(135deg,#fbfcfb,#f3f7f4);color:var(--text);text-align:left;cursor:pointer}.smart-design-choice>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e7efea;color:var(--primary);font-size:20px}.smart-design-choice strong{display:block;font-size:.9rem}.smart-design-choice p{margin:4px 0 0;color:var(--muted);font-size:.74rem;line-height:1.5}.smart-design-choice i{color:var(--primary);font-size:.68rem;font-style:normal;font-weight:750}.smart-design-choice.selected{border-color:#82a293;background:linear-gradient(135deg,#f7fbf8,#eaf3ed);box-shadow:0 0 0 3px rgba(51,91,72,.07)}.smart-campaign-note{display:grid;grid-template-columns:34px minmax(0,1fr) auto;grid-gap:11px;gap:11px;align-items:center;padding:13px 14px;border:1px solid #d8e5dc;border-radius:11px;background:#f6faf7}.smart-campaign-note>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#e4efe8;color:var(--primary)}.smart-campaign-note strong{font-size:.75rem}.smart-campaign-note p{margin:3px 0 0;color:var(--muted);font-size:.68rem;line-height:1.5}.campaign-brief-confirm{background:linear-gradient(180deg,#fff,#fbfdfb)}.campaign-brief-confirm .record-form-section-head{align-items:center}.campaign-brief-editor{display:grid;grid-gap:13px;gap:13px;padding:17px;border:1px solid #d8e4dc;border-radius:13px;background:#fff;box-shadow:0 8px 24px rgba(26,55,39,.04)}.campaign-brief-editor textarea{resize:vertical}.campaign-visual-direction{display:grid;grid-gap:13px;gap:13px;margin-top:5px;padding:16px;border:1px solid #e1e6e2;border-radius:12px;background:linear-gradient(145deg,#fbfcfb,#f5f7f5)}.campaign-visual-direction .detail-chips button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #d4ddd7;border-radius:999px;padding:7px 11px;background:#fff;color:#536159;font:inherit;font-size:.76rem;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.campaign-visual-direction .detail-chips button:hover{border-color:#8aa293}.campaign-visual-direction .detail-chips button.active{border-color:#254d38;background:#254d38;color:#fff}.campaign-brief-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:2px}@media (max-width:720px){.smart-campaign-note{grid-template-columns:34px minmax(0,1fr)}.smart-campaign-note>button{grid-column:1/-1}.campaign-brief-actions{flex-direction:column}}.campaign-emphasis-control{display:grid;grid-gap:13px;gap:13px;padding:16px;border:1px solid #d7e3dc;border-radius:13px;background:linear-gradient(145deg,#f8fbf9,#f1f7f3)}.campaign-emphasis-control h4{margin:2px 0 3px;color:#1d3127;font-size:.92rem}.campaign-emphasis-control>div>p{max-width:760px;margin:0;color:var(--muted);font-size:.69rem;line-height:1.5}.campaign-emphasis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.campaign-emphasis-grid label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid #dde6e1;border-radius:9px;background:hsla(0,0%,100%,.9)}.campaign-emphasis-grid label>span{min-width:0;display:grid;grid-gap:2px;gap:2px}.campaign-emphasis-grid strong{color:#263a30;font-size:.72rem}.campaign-emphasis-grid small{overflow:hidden;color:var(--muted);font-size:.6rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.campaign-emphasis-grid select{width:124px;flex:0 0 124px;padding:7px 8px;border:1px solid #cfdbd4;border-radius:7px;background:#fff;color:#2c4036;font:inherit;font-size:.68rem;font-weight:700}.campaign-advanced-design{overflow:hidden;border:1px solid #dce5e1;border-radius:13px;background:#fafcfb}.campaign-advanced-design>summary{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px 16px;cursor:pointer;list-style:none}.campaign-advanced-design>summary::-webkit-details-marker{display:none}.campaign-advanced-design>summary span{display:grid;grid-gap:3px;gap:3px;font-size:.78rem;font-weight:750}.campaign-advanced-design>summary small{color:var(--muted);font-size:.68rem;font-weight:500}.campaign-advanced-design>summary:after{content:"＋";color:var(--primary);font-weight:800}.campaign-advanced-design[open]>summary:after{content:"−"}.campaign-advanced-design>div{display:grid;grid-gap:16px;gap:16px;padding:4px 16px 18px;border-top:1px solid #e3eae7}.campaign-content-controls{display:block}.campaign-content-controls>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;list-style:none}.campaign-content-controls>summary::-webkit-details-marker{display:none}.campaign-content-controls>summary span{display:grid;grid-gap:3px;gap:3px}.campaign-content-controls>summary small{color:var(--muted);font-size:.68rem;font-weight:500}.campaign-content-controls>summary i{color:var(--primary);font-size:.68rem;font-style:normal;font-weight:750}.campaign-content-controls:not([open])>:not(summary){display:none}@media (max-width:900px){.campaign-dynamic-field-grid,.campaign-emphasis-grid{grid-template-columns:1fr}.smart-design-choice{grid-template-columns:38px minmax(0,1fr)}.smart-design-choice>i{grid-column:2}}