/* Editor workbench: nav | form panel | live preview. Fills the viewport; each column scrolls on its own. */
.ed-body [hidden]{display:none!important}
.ed-body{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:#f3f4ee}
.ed-body svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ed-top{height:58px;flex:none;display:flex;align-items:center;gap:18px;padding:0 20px;background:var(--bg);border-bottom:1px solid var(--line);justify-content:flex-start}
.ed-top .brand{font-size:17px}.ed-top .brand img{width:24px;height:24px}
.ed-top-title{font-size:12px;color:var(--muted);padding-left:18px;border-left:1px solid var(--line)}
.ed-save{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:11px;color:#8b9286}
.ed-save.on{color:#5f7a4c}
.ed-back{display:flex;align-items:center;gap:4px;font-size:12px;padding:6px 10px;border:1px solid var(--line);border-radius:4px}
.ed-back:hover{background:#edf0e5}
.ed-app{flex:1;min-height:0;display:grid;grid-template-columns:212px 400px minmax(0,1fr)}
/* nav */
.ed-nav{display:block;overflow-y:auto;padding:14px 10px 30px;border-right:1px solid var(--line);background:var(--bg)}
.ed-nav-label{font-size:10px;letter-spacing:1.6px;color:#9aa094;margin:14px 10px 6px}
.ed-nav-label:first-child{margin-top:2px}
.ed-nav-row{display:flex;align-items:center;border-radius:6px;position:relative}
.ed-nav-row:hover{background:#edf0e5}
.ed-nav-row.on{background:var(--ink);color:#fff}
.ed-nav-row.off .ed-nav-item span{text-decoration:line-through;opacity:.55}
.ed-nav-row.dragging{opacity:.4}
.ed-nav-row.drop-before{box-shadow:0 -2px 0 #88a868}.ed-nav-row.drop-after{box-shadow:0 2px 0 #88a868}
.ed-nav-item{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;background:none;color:inherit;font-size:13px;text-align:left}
.ed-nav-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-nav-tools{display:flex;align-items:center;padding-right:4px;opacity:0;transition:opacity .15s}
.ed-nav-row:hover .ed-nav-tools,.ed-nav-row.on .ed-nav-tools,.ed-nav-row.off .ed-nav-tools,.ed-nav-row:focus-within .ed-nav-tools{opacity:1}
.ed-nav-tools button{border:0;background:none;color:inherit;padding:5px;display:flex;border-radius:4px}
.ed-nav-tools button:hover{background:#0000000f}
.ed-grip{cursor:grab;padding:5px;display:flex;opacity:.55}
.ed-nav-add{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 4px 0}
.ed-nav-add button{display:flex;align-items:center;justify-content:center;gap:4px;font-size:11px;padding:7px 4px;border:1px dashed #c4cbbd;border-radius:5px;background:none;color:var(--muted)}
.ed-nav-add button:hover{border-color:var(--ink);color:var(--ink)}
.ed-nav-add svg{width:13px;height:13px}
/* panel */
.ed-panel{overflow-y:auto;padding:22px 24px 60px;background:#fbfbf8;border-right:1px solid var(--line)}
.ed-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px}
.ed-panel-head h2{font:500 22px/1.4 var(--serif);margin:0;letter-spacing:0}
.ed-panel-head p{font-size:11px;color:var(--muted);margin:4px 0 0;line-height:1.6}
.ed-head-tools{display:flex;gap:4px}
.ed-field{display:block;margin-top:14px;font-size:12px}
.ed-field>span{display:flex;justify-content:space-between;color:#4f5c55;margin-bottom:6px}
.ed-field input,.ed-field textarea{margin:0;padding:9px 11px;font-size:13px;border-color:#d9ded2;border-radius:6px;transition:border-color .15s,box-shadow .15s}
.ed-field textarea{line-height:1.7;min-height:90px}
.ed-field input:focus,.ed-field textarea:focus{outline:0;border-color:#88a868;box-shadow:0 0 0 3px #88a86826}
.ed-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.ed-tip{display:flex;gap:8px;margin-top:18px;padding:11px 12px;background:#eef1e6;border-radius:6px;font-size:11px;line-height:1.7;color:#5d6a5a}
.ed-tip svg{margin-top:2px;color:#7f9562}
.ed-tip a{text-decoration:underline}
.ed-note{font-size:11px;color:var(--muted);line-height:1.7;margin:8px 0 0}
.ed-note a{text-decoration:underline}
.ed-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:10px}
.ed-check{display:flex;align-items:center;gap:6px;margin:0;font-size:12px}
.ed-check input{width:auto;margin:0;display:inline}
.ed-link{border:0;background:none;padding:0;font-size:12px;text-decoration:underline;color:var(--ink)}
.danger{color:#a6463a!important}
.button.small{padding:8px 13px;font-size:12px;gap:8px}
.ed-icon{border:0;background:none;color:var(--ink);padding:6px;border-radius:5px;display:inline-flex}
.ed-icon:hover:not(:disabled){background:#e8ebe1}
.ed-icon:disabled{opacity:.3;cursor:default}
.ed-photo{display:flex;gap:16px;margin-top:20px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}
.ed-photo-box{width:66px;height:86px;flex:none;border-radius:5px;background:#eef0e9;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#a7ae9f}
.ed-photo-box img{width:100%;height:100%;object-fit:cover}.ed-photo-box svg{width:28px;height:28px}
.ed-photo b{font-size:13px;font-weight:500}.ed-photo p{font-size:11px;color:var(--muted);margin:4px 0 0;line-height:1.6}
/* list items */
.ed-items{margin-top:16px;display:flex;flex-direction:column;gap:10px}
.ed-item{border:1px solid var(--line);border-radius:8px;background:#fff;transition:box-shadow .15s}
.ed-item.open{box-shadow:0 6px 20px #2f45370d;border-color:#cfd6c6}
.ed-item.off{opacity:.6}
.ed-item-top{display:flex;align-items:center;padding:4px 6px 4px 4px}
.ed-item-name{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:none;padding:8px;text-align:left;font-size:13px;color:var(--ink)}
.ed-item-name em{font:italic 13px var(--serif);color:#9aa58d}
.ed-item-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-item-tools{display:flex}
.ed-item-tools .ed-icon{padding:5px}
.ed-item-body{padding:0 14px 16px;border-top:1px solid #eef0ea}
.ed-add{width:100%;margin-top:12px;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px;border:1px dashed #bfc8b6;border-radius:8px;background:none;color:var(--ink);font-size:13px}
.ed-add:hover{background:#eef1e6}
/* theme */
.ed-block{margin-top:20px;padding-top:16px;border-top:1px solid #eceee7}
.ed-block>b{font-size:12px;font-weight:500;display:block;margin-bottom:10px}
.ed-swatches{display:flex;flex-wrap:wrap;gap:9px}
.ed-swatch{width:28px;height:28px;border-radius:50%;border:2px solid #fff;background:var(--sw);box-shadow:0 0 0 1px #d4d9cd;padding:0;margin:0;position:relative}
.ed-swatch.on{box-shadow:0 0 0 2px var(--ink)}
.ed-swatch.custom{background:conic-gradient(#e66,#eb5,#6c6,#5be,#86e,#e66);overflow:hidden;cursor:pointer}
.ed-swatch.custom input{opacity:0;position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer}
.ed-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ed-seg button{padding:9px 6px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:12px;color:var(--ink)}
.ed-seg button.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.ed-range input{padding:0;border:0;background:none;accent-color:var(--ink);height:22px}
.ed-range output{font-variant-numeric:tabular-nums;color:var(--muted)}
.ed-switch{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:12px;cursor:pointer;user-select:none}
.ed-switch input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.ed-switch>span{width:30px;height:17px;border-radius:10px;background:#cdd3c6;position:relative;transition:background .15s;flex:none}
.ed-switch>span::after{content:'';position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;transition:transform .15s}
.ed-switch input:checked+span{background:var(--ink)}
.ed-switch input:checked+span::after{transform:translateX(13px)}
.ed-switch input:focus-visible+span{outline:3px solid #88a868;outline-offset:2px}
.ed-switch.big{font-size:13px}
.ed-actions{display:flex;flex-wrap:wrap;gap:8px}
/* templates */
.ed-tpls{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.ed-tpl{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:8px 8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:left;color:var(--ink)}
.ed-tpl:hover{border-color:#b9c3ae}
.ed-tpl.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.ed-tpl-thumb{display:block;position:relative;width:100%;aspect-ratio:210/297;overflow:hidden;border-radius:4px;background:#f1f2ec;margin-bottom:6px}
.ed-tpl-thumb .lr-page{position:absolute;left:0;top:0;transform-origin:0 0;pointer-events:none}
.ed-tpl b{font-size:12px;font-weight:500}.ed-tpl small{font-size:10px;color:var(--muted);line-height:1.5}
/* stage */
.ed-stage{display:flex;flex-direction:column;min-width:0;min-height:0}
.ed-toolbar{flex:none;display:flex;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid var(--line);background:#fafaf6}
.ed-chip{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:20px;padding:6px 12px;font-size:12px;color:var(--ink);white-space:nowrap}
.ed-chip:hover{border-color:var(--ink)}
.ed-tools{display:flex;align-items:center;gap:4px;margin:0 auto;flex-wrap:wrap}
.ed-sep{width:1px;height:18px;background:var(--line);margin:0 6px}
.ed-zoom{border:0;background:none;font-size:12px;min-width:46px;color:var(--ink);font-variant-numeric:tabular-nums;padding:6px 2px;border-radius:5px}
.ed-zoom:hover{background:#e8ebe1}
.ed-pages{font-size:11px;color:var(--muted);margin-left:8px;white-space:nowrap}
.ed-pages.warn{color:#a0603a}
.ed-print{gap:8px;padding:9px 16px;white-space:nowrap}
.ed-canvas{flex:1;overflow:auto;padding:28px 20px 40px;display:flex;flex-direction:column;align-items:center}
.ed-sizer{position:relative;flex:none}
.ed-sheet{position:absolute;left:0;top:0;width:794px;transform-origin:0 0}
#resume-page{box-shadow:0 10px 40px #2a3c3014,0 0 0 1px #e3e6dd;cursor:default}
#resume-page [data-sec]{cursor:pointer;border-radius:3px;transition:box-shadow .15s}
#resume-page [data-sec]:hover{box-shadow:0 0 0 4px #88a86833}
#resume-page .lr-sec [data-sec]:hover{box-shadow:none}
#breaks{position:absolute;inset:0;pointer-events:none}
.ed-break{position:absolute;left:0;right:0;border-top:1.5px dashed #d9826a}
.ed-break span{position:absolute;right:6px;top:-20px;font-size:11px;color:#c0634a;background:#fff;padding:0 6px}
.ed-foot{max-width:620px;text-align:center;font-size:11px;color:#949b8e;margin:22px 0 0;line-height:1.7}
.ed-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:14px;max-width:calc(100% - 32px);padding:10px 16px;background:var(--ink);color:#fff;border-radius:8px;font-size:12px;box-shadow:0 10px 30px #1c2a2340}
.ed-toast[hidden]{display:none}
.ed-toast button{border:0;background:none;color:#d5e7ae;font-size:12px;text-decoration:underline;padding:0}
.ed-toast button[hidden]{display:none}
.ed-mobilebar{display:none}
@media(max-width:1240px){.ed-app{grid-template-columns:62px 370px minmax(0,1fr)}.ed-nav{padding:10px 6px}.ed-nav-label,.ed-nav-item span,.ed-nav-tools,.ed-nav-add span,.ed-top-title{display:none}.ed-nav-item{justify-content:center;padding:10px 0}.ed-nav-row.off{opacity:.5}.ed-nav-add{grid-template-columns:1fr;margin:8px 0}.ed-nav-add button{padding:8px 0}.ed-tools .ed-sep{margin:0 2px}}
@media(max-width:980px){.ed-app{grid-template-columns:62px 330px minmax(0,1fr)}.ed-panel{padding:18px 16px 60px}.ed-chip span{display:none}.ed-pages{display:none}.ed-print{padding:9px 12px}}
@media(max-width:760px){
.ed-top{padding:0 16px;gap:10px}.ed-save span{display:none}.ed-back span{display:none}
.ed-app{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
.ed-nav{display:flex;align-items:center;gap:4px;overflow-x:auto;overflow-y:hidden;padding:8px 12px;border-right:0;border-bottom:1px solid var(--line);scrollbar-width:none}
.ed-nav-row{flex:none}.ed-nav-item{padding:7px 10px}.ed-nav-item span{display:inline;font-size:12px}.ed-nav-item svg{display:none}.ed-nav-add{display:flex;margin:0;gap:4px}.ed-nav-add button{padding:6px 10px;white-space:nowrap}.ed-nav-add span{display:inline}
.ed-panel{padding:16px 16px 90px;border-right:0}
.ed-stage{display:none}
.view-preview .ed-panel,.view-preview .ed-nav{display:none}
.view-preview .ed-stage{display:flex}
.view-preview .ed-app{grid-template-rows:minmax(0,1fr)}
.ed-toolbar{padding:8px 12px;gap:6px}.ed-print{display:none}.ed-canvas{padding:16px 12px 90px}
.ed-mobilebar{display:grid;grid-template-columns:1fr 1fr 1.2fr;position:fixed;left:12px;right:80px;bottom:12px;z-index:40;background:var(--ink);border-radius:12px;padding:5px;box-shadow:0 10px 30px #1c2a2340}
.ed-mobilebar button{border:0;background:none;color:#ffffffb0;padding:10px;font-size:13px;border-radius:8px}
.ed-mobilebar button.on{background:#ffffff1f;color:#fff}
.ed-mobilebar button:last-child{background:#d5e7ae;color:var(--ink);font-weight:500}
.ed-grid{grid-template-columns:1fr}
.ed-toast{bottom:84px}
}
@media print{
.ed-body{height:auto;display:block;overflow:visible;background:#fff}
.ed-top,.ed-nav,.ed-panel,.ed-toolbar,.ed-foot,.ed-mobilebar,.ed-toast,#breaks,.lumora-cs-btn,.lumora-cs-frame{display:none!important}
.ed-app,.ed-stage,.ed-canvas{display:block!important;overflow:visible;padding:0;margin:0}
.ed-sizer{width:auto!important;height:auto!important}
.ed-sheet{position:static;transform:none!important;width:auto}
#resume-page{width:auto;min-height:0!important;padding:0;box-shadow:none}
#resume-page [data-sec]:hover{box-shadow:none}
#resume-page .lr-empty,#resume-page .lr-ph{display:none}
.l-band .lr-head{margin:0 0 calc(var(--gap)*1.2);border-radius:4px;padding:6mm 7mm}
.l-side .lr-cols{min-height:0}
}
