html,body.builder-body{height:100%}body.builder-body{overflow:hidden;background:#eef1f7}.builder{display:flex;flex-direction:column;height:100vh;height:100dvh}.b-top{display:flex;align-items:center;gap:.6rem;padding:.5rem .8rem;background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:20}.b-logo{display:flex;align-items:center;gap:.5rem;font-weight:800;color:var(--ink);text-decoration:none}.b-logo .brand-mark{width:32px;height:32px;border-radius:9px}.b-name{max-width:200px;font-weight:600;border-color:transparent;background:var(--soft)}.b-name:focus{background:#fff}.b-progress{align-items:center;gap:.5rem;cursor:pointer;padding:.25rem .5rem;border-radius:8px}.b-progress:hover{background:var(--soft)}.b-progress-bar{width:110px;height:8px;border-radius:8px;background:var(--line);overflow:hidden}.b-progress-mobile .b-progress-bar{width:100%}.b-progress-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#0f9d8a);transition:width .4s;width:0}.b-progress-menu{min-width:300px}.b-progress-menu li{margin-bottom:.35rem}.b-main{flex:1;display:flex;min-height:0}.b-panel{width:460px;max-width:100%;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.b-tabs{border-bottom:1px solid var(--line);padding:0 .6rem;flex-wrap:nowrap}.b-tabs .nav-link{color:var(--ink-2);font-weight:600;border:0;border-bottom:3px solid transparent;border-radius:0;padding:.75rem .8rem;background:none}.b-tabs .nav-link.active{color:var(--brand);border-bottom-color:var(--brand)}.b-scroll{flex:1;overflow-y:auto;padding:1rem;-webkit-overflow-scrolling:touch}.b-tab{display:none}.b-tab.active{display:block}.f-card{border:1px solid var(--line);border-radius:12px;margin-bottom:.8rem;background:#fff}.f-card-head{display:flex;align-items:center;gap:.4rem;padding:.55rem .7rem;cursor:pointer;-webkit-user-select:none;user-select:none}.f-card-head .f-title{flex:1;font-weight:700;border:0;background:transparent;padding:.2rem .3rem;border-radius:6px;min-width:0;font-size:.97rem;color:var(--ink)}.f-card-head .f-title:focus{background:var(--soft);outline:none}.f-card-head .f-ic{width:30px;height:30px;border-radius:8px;background:var(--soft-2);color:var(--brand);display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;font-size:.85rem}.f-card-head .btn-icon{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:0;background:transparent;color:var(--muted);flex:0 0 30px}.f-card-head .btn-icon:hover{background:var(--soft);color:var(--ink)}.f-card-head .drag{cursor:grab}.f-card.is-hidden .f-card-head{opacity:.55}.f-card-body{padding:.2rem .8rem .9rem;display:none}.f-card.open .f-card-body{display:block}.f-card.open .chev{transform:rotate(180deg)}.chev{transition:transform .2s}.f-item{border:1px solid var(--line);border-radius:10px;padding:.7rem;margin-bottom:.6rem;background:var(--soft);position:relative}.f-item-head{display:flex;align-items:center;gap:.3rem;margin-bottom:.45rem}.f-item-head strong{flex:1;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.f-item-head .btn-icon{width:26px;height:26px;padding:0;border:0;background:transparent;color:var(--muted);border-radius:6px}.f-item-head .btn-icon:hover{background:#fff;color:var(--ink)}.f-item.collapsed .f-item-body{display:none}.form-label{font-size:.8rem;font-weight:600;color:var(--ink-2);margin-bottom:.2rem}.b-scroll .form-control,.b-scroll .form-select{font-size:.92rem}.f-hint{font-size:.76rem;color:var(--muted);margin-top:.2rem}.photo-box{display:flex;align-items:center;gap:.8rem}.photo-box .ph{width:64px;height:64px;border-radius:50%;background:var(--soft-2) center/cover no-repeat;display:inline-flex;align-items:center;justify-content:center;color:var(--brand);flex:0 0 64px}.sortable-ghost{opacity:.4}.lvl-range{display:flex;align-items:center;gap:.5rem}.lvl-range output{font-size:.8rem;color:var(--muted);min-width:92px}.swatches{display:flex;flex-wrap:wrap;gap:.45rem}.swatch{width:30px;height:30px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0}.swatch.active{box-shadow:0 0 0 2px var(--ink)}.d-row{margin-bottom:1.1rem}.d-row .form-range{margin-top:.2rem}.b-tpl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.b-tpl{border:2px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;cursor:pointer;padding:0;text-align:left}.b-tpl img{width:100%;aspect-ratio:210/297;object-fit:cover;object-position:top;display:block;background:var(--soft)}.b-tpl span{display:block;font-size:.72rem;font-weight:600;padding:.25rem .35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.b-tpl.active{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 30%,transparent)}.b-preview{flex:1;display:flex;flex-direction:column;min-width:0}.b-preview-tools{display:flex;align-items:center;gap:.6rem;padding:.45rem .9rem;background:#f8f9fc;border-bottom:1px solid var(--line)}.b-preview-scroll{flex:1;overflow:auto;padding:1.5rem}.b-paper-wrap{margin:0 auto;position:relative}.b-paper{position:relative;transform-origin:top left;width:210mm}.b-paper .cv{box-shadow:0 12px 40px #14213d2e;margin-bottom:8mm}.b-paper .cv:last-child{margin-bottom:0}.b-mobile-nav{display:flex;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.b-mobile-nav button{flex:1;border:0;background:none;padding:.55rem 0 .45rem;font-size:.75rem;font-weight:600;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:.15rem}.b-mobile-nav button i{font-size:1.05rem}.b-mobile-nav button.active{color:var(--brand)}@media(max-width:991.98px){.b-panel{width:100%;border-right:0}.b-preview,.builder.show-preview .b-panel{display:none}.builder.show-preview .b-preview{display:flex}.b-preview-scroll{padding:.8rem}.b-name{max-width:120px}.b-tpl-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:420px){.b-tpl-grid{grid-template-columns:repeat(2,1fr)}.b-top{gap:.35rem;padding:.45rem .5rem}.b-name{display:none}}#printArea{display:none}@media print{@page{size:A4;margin:0}html,body.builder-body{height:auto;overflow:visible;background:#fff}.builder,.toast-container,.modal{display:none!important}#printArea{display:block}#printArea .cv{box-shadow:none;margin:0;page-break-after:always;break-after:page}#printArea .cv.cv-last{page-break-after:auto;break-after:auto}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
