/* ═════════════════════════════════════════════════════
   tools/_design-v2.css
   Design system v2 cho 3 tool: phục chế / chân dung / ảnh khác
   Font Nunito + cam EA580C + border 1.5-2px + radius 11-13px
   ═════════════════════════════════════════════════════ */

/* ── Sidebar v2 ── */
.sb2{background:var(--bg-card);display:flex;flex-direction:column;overflow:hidden;border-right:1.5px solid var(--bd-1);font-family:var(--fn)}
.sb2-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.12) transparent}
.sb2-body::-webkit-scrollbar{width:4px}
.sb2-body::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12);border-radius:2px}

/* Header */
.sb2-head{padding:24px 22px 18px}
.sb2-head-title{font-size:22px;font-weight:700;color:var(--text-1);letter-spacing:-.4px;line-height:1.15}
.sb2-head-sub{font-size:14px;color:var(--text-2);margin-top:5px;font-weight:500}

/* Section label uppercase */
.sb2-lbl{font-size:13px;color:var(--text-2);font-weight:600;margin-bottom:10px;text-transform:uppercase;letter-spacing:.05em}

/* Section spacing */
.sb2-section{padding:0 22px;margin-bottom:20px}

/* Card "Option" lớn (Loại ảnh) */
.sb2-opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.sb2-opt{padding:14px 13px;background:#fff;border:2px solid var(--bd-1);border-radius:13px;cursor:pointer;text-align:left;font-family:var(--fn);transition:.12s}
.sb2-opt:hover{border-color:#B4B4B0}
.sb2-opt.on{background:var(--p-bg);border-color:var(--p)}
.sb2-opt-t{font-size:16px;font-weight:600;color:var(--text-1);line-height:1.2}
.sb2-opt.on .sb2-opt-t{font-weight:700}
.sb2-opt-d{font-size:12.5px;color:var(--text-2);margin-top:3px;font-weight:500;line-height:1.35}
.sb2-opt.on .sb2-opt-d{color:var(--text-2)}

/* Segmented toggle (Phong cách) */
.sb2-seg{background:#F0F0EB;border-radius:12px;padding:4px;display:flex;gap:4px}
.sb2-seg-btn{flex:1;padding:11px;background:transparent;border:none;border-radius:9px;font-size:14px;font-weight:600;color:var(--text-1);cursor:pointer;font-family:var(--fn);transition:.12s}
.sb2-seg-btn:not(.on):hover{background:rgba(255,255,255,.5)}
.sb2-seg-btn.on{background:var(--p);color:#fff;font-weight:700;box-shadow:0 1px 3px rgba(234,88,12,.3)}

/* Card group iOS style: 3 setting rows */
.sb2-card{background:#fff;border:1.5px solid var(--bd-1);border-radius:13px;overflow:hidden}
.sb2-row{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:.1s;font-family:var(--fn)}
.sb2-row:hover{background:#FAFAFA}
.sb2-row.optional{cursor:pointer}
.sb2-row-l{min-width:0;flex:1}
.sb2-row-t{font-size:14.5px;font-weight:600;color:var(--text-1)}
.sb2-row.optional .sb2-row-t{color:var(--text-2);font-weight:500}
.sb2-row-d{font-size:12.5px;color:var(--text-3);margin-top:3px;font-weight:500;line-height:1.35}
.sb2-row-r{flex-shrink:0;display:flex;align-items:center;gap:4px}
.sb2-row-val{font-size:13px;color:var(--text-2);font-weight:500}
.sb2-row-chev{color:var(--text-3);flex-shrink:0;display:flex;align-items:center;justify-content:center}
.sb2-row-sep{height:1.5px;background:var(--bd-2);margin:0 16px}

/* Toggle switch (Khóa hậu cảnh inline) */
.sb2-sw{width:44px;height:26px;background:#E5E5E0;border-radius:100px;position:relative;cursor:pointer;flex-shrink:0;border:1.5px solid var(--bd-1);transition:.18s}
.sb2-sw-knob{position:absolute;top:1px;left:1px;width:19px;height:19px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.15);transition:.18s}
.sb2-sw.on{background:var(--p);border-color:var(--p)}
.sb2-sw.on .sb2-sw-knob{left:21px}

/* Action area cuối */
.sb2-actions{padding:16px 22px 22px;background:#fff;border-top:1.5px solid var(--bd-1);display:flex;flex-direction:column;gap:8px;flex-shrink:0;font-family:var(--fn)}
.sb2-btn-go{width:100%;padding:15px;background:var(--p);color:#fff;border:none;border-radius:13px;font-size:15.5px;font-weight:700;cursor:pointer;letter-spacing:.1px;font-family:var(--fn);box-shadow:0 2px 8px rgba(234,88,12,.25);transition:.15s;display:flex;align-items:center;justify-content:center;gap:6px}
.sb2-btn-go:hover:not(:disabled){box-shadow:0 4px 14px rgba(234,88,12,.35);transform:translateY(-1px);background:var(--p-d)}
.sb2-btn-go:disabled{background:#E5E5E0;color:#A8A8A0;cursor:not-allowed;box-shadow:none;transform:none}
.sb2-btn-go-xu{opacity:.85;font-weight:600;font-size:13.5px}
.sb2-btn-dl{width:100%;padding:14px;background:#6366F1;color:#fff;border:none;border-radius:13px;font-size:14.5px;font-weight:700;cursor:pointer;display:none;align-items:center;justify-content:center;gap:7px;font-family:var(--fn);box-shadow:0 2px 8px rgba(99,102,241,.25)}
.sb2-btn-dl:hover{box-shadow:0 4px 14px rgba(99,102,241,.35);transform:translateY(-1px)}
.sb2-btn-new{width:100%;padding:10px;background:transparent;color:var(--text-2);border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;font-family:var(--fn)}
.sb2-btn-new:hover{color:var(--p);background:#FAFAFA}
.sb2-credit{text-align:center;font-size:12.5px;color:var(--text-3);font-weight:500}
.sb2-credit strong{color:var(--text-1);font-weight:700}

/* ── Settings bar v2 ── */
.sbar2{padding:16px 22px 18px;background:#fff;flex-shrink:0;border-top:1.5px solid var(--bd-1);display:grid;grid-template-columns:1fr 1px 1fr;gap:18px;align-items:stretch;font-family:var(--fn);min-height:80px}
.sbar2-col{min-width:0}
.sbar2-divider{background:var(--bd-1)}
.sbar2-title{font-size:13px;color:#000000;font-weight:600;margin-bottom:11px;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:7px}
.sbar2-title small{font-weight:500;color:var(--text-3);text-transform:none;font-size:11.5px;letter-spacing:0;font-style:italic}

/* Light source compact (Modal trigger) */
.sbar2-lt-card{background:var(--p-bg);border:2px solid var(--p);border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:.12s;font-family:var(--fn)}
.sbar2-lt-card:hover{background:#FFEDD5}
.sbar2-lt-card-l{min-width:0;flex:1}
.sbar2-lt-card-t{font-size:14px;font-weight:700;color:var(--text-1);line-height:1.2}
.sbar2-lt-card-d{font-size:12px;color:var(--text-2);font-weight:500;margin-top:2px}
.sbar2-lt-card-edit{color:var(--p);font-size:14px;font-weight:700}

/* Person Info (Giới tính / Chủng tộc / Tuổi) */
.sbar2-r2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:9px}
.sbar2-sel{padding:10px 13px;border:1.5px solid var(--bd-1);background:#fff;border-radius:10px;font-size:13px;color:var(--text-1);cursor:pointer;font-family:var(--fn);font-weight:600;outline:none;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2386868B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:30px}
.sbar2-sel:focus{border-color:var(--p)}

.sbar2-ages{display:flex;flex-wrap:wrap;gap:6px}
.sbar2-age{display:inline-flex;align-items:center;padding:6px 13px;background:#fff;border:1.5px solid var(--bd-1);border-radius:100px;font-size:12.5px;color:var(--text-1);cursor:pointer;font-family:var(--fn);font-weight:600;transition:.12s}
.sbar2-age:hover{border-color:#B4B4B0}
.sbar2-age input{position:absolute;opacity:0;width:0;height:0}
.sbar2-age:has(input:checked){background:var(--p);border-color:var(--p);color:#fff;font-weight:700}

/* ── Modal/Dialog dùng chung ── */
.sb2-modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1000;display:none;align-items:center;justify-content:center;padding:20px;font-family:var(--fn)}
.sb2-modal-bg.open{display:flex;animation:sb2fadeIn .15s ease-out}
.sb2-modal{background:#fff;border-radius:16px;max-width:540px;width:100%;max-height:88vh;display:flex;flex-direction:column;animation:sb2slideUp .2s ease-out;overflow:hidden}
@keyframes sb2fadeIn{from{opacity:0}to{opacity:1}}
@keyframes sb2slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.sb2-modal-head{padding:18px 22px;border-bottom:1.5px solid var(--bd-2);display:flex;align-items:center;justify-content:space-between}
.sb2-modal-title{font-size:17px;font-weight:700;color:var(--text-1);letter-spacing:-.2px}
.sb2-modal-close{width:32px;height:32px;border-radius:50%;background:#F3F4F6;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-2);font-family:var(--fn);transition:.12s}
.sb2-modal-close:hover{background:#E5E5E0}
.sb2-modal-body{padding:18px 22px;overflow-y:auto;flex:1}
.sb2-modal-foot{padding:14px 22px;border-top:1.5px solid var(--bd-2);display:flex;gap:8px;justify-content:flex-end}
.sb2-modal-btn{padding:10px 18px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;border:1.5px solid var(--bd-1);background:#fff;color:var(--text-1);font-family:var(--fn);transition:.12s}
.sb2-modal-btn:hover{background:#FAFAFA}
.sb2-modal-btn-primary{background:var(--p);border-color:var(--p);color:#fff}
.sb2-modal-btn-primary:hover{background:var(--p-d)}

/* Modal: Chất lượng & tỷ lệ — buttons grid */
.sb2-modal-group-lbl{font-size:13px;color:var(--text-2);font-weight:600;margin-bottom:10px;text-transform:uppercase;letter-spacing:.05em}
.sb2-modal-group{margin-bottom:18px}
.sb2-modal-group:last-child{margin-bottom:0}
.sb2-modal-ratio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sb2-modal-ratio-btn{padding:11px 8px;background:#fff;border:1.5px solid var(--bd-1);border-radius:10px;font-size:13px;color:var(--text-1);cursor:pointer;font-family:var(--fn);font-weight:600;transition:.12s;text-align:center}
.sb2-modal-ratio-btn:hover{border-color:#B4B4B0}
.sb2-modal-ratio-btn.on{background:var(--p-bg);border-color:var(--p);color:#9A3412;font-weight:700;border-width:2px}

/* Modal: Yêu cầu thêm — textarea lớn */
.sb2-modal-ta{width:100%;padding:12px 14px;border:1.5px solid var(--bd-1);border-radius:11px;font-size:14px;background:#fff;color:var(--text-1);font-family:var(--fn);resize:vertical;min-height:120px;box-sizing:border-box;outline:none;line-height:1.55}
.sb2-modal-ta:focus{border-color:var(--p)}
.sb2-modal-ta-len{font-size:12px;color:var(--text-3);text-align:right;margin-top:6px;font-weight:500}

/* Modal: Nguồn sáng */
.sb2-modal-lt-mode{background:#F0F0EB;border-radius:11px;padding:4px;display:flex;gap:4px;margin-bottom:14px}
.sb2-modal-lt-mode-btn{flex:1;padding:10px;background:transparent;border:none;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--text-1);cursor:pointer;font-family:var(--fn);transition:.12s}
.sb2-modal-lt-mode-btn.on{background:var(--p);color:#fff;font-weight:700;box-shadow:0 1px 3px rgba(234,88,12,.3)}

.sb2-modal-lt-preview{display:flex;gap:11px;align-items:center;background:#FAFAFA;border:1.5px solid var(--bd-2);border-radius:11px;padding:11px 13px;margin-bottom:14px}
.sb2-modal-lt-diagram{width:54px;height:54px;flex-shrink:0;background:#2C2C2A;border-radius:8px;overflow:hidden}
.sb2-modal-lt-diagram svg{width:100%;height:100%;display:block}
.sb2-modal-lt-info{flex:1;min-width:0}
.sb2-modal-lt-name{font-size:14px;font-weight:700;color:var(--p);margin-bottom:2px;line-height:1.2}
.sb2-modal-lt-desc{font-size:12px;color:var(--text-2);line-height:1.45;font-weight:500}

.sb2-modal-lt-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:14px}
.sb2-modal-lt-chip{padding:10px 8px;background:#fff;border:1.5px solid var(--bd-1);border-radius:10px;font-size:12.5px;color:var(--text-1);cursor:pointer;font-family:var(--fn);font-weight:600;transition:.12s;text-align:center}
.sb2-modal-lt-chip:hover{border-color:#B4B4B0}
.sb2-modal-lt-chip.on{background:var(--p-bg);border-color:var(--p);color:#9A3412;font-weight:700;border-width:2px}

.sb2-modal-lt-int{display:flex;align-items:center;gap:10px}
.sb2-modal-lt-int-label{font-size:13px;color:var(--text-1);font-weight:600}
.sb2-modal-lt-int-group{flex:1;background:#F0F0EB;border-radius:9px;padding:3px;display:flex;gap:3px}
.sb2-modal-lt-int-btn{flex:1;padding:8px;background:transparent;border:none;border-radius:6px;font-size:13px;font-weight:600;color:var(--text-1);cursor:pointer;font-family:var(--fn)}
.sb2-modal-lt-int-btn.on{background:var(--p);color:#fff;font-weight:700}

/* ── Nguồn sáng INLINE 2 cột (settings bar - chinh-anh-chan-dung) ── */
.lt-inline-grid{display:grid;grid-template-columns:minmax(0,1.6fr) 1px minmax(0,1fr);gap:18px;align-items:stretch;width:100%}
.lt-inline-l{display:flex;flex-direction:column;gap:11px;min-width:0}
.lt-inline-divider{background:var(--bd-1);width:1px}
.lt-inline-row{display:grid;grid-template-columns:78px minmax(0,1fr);gap:11px;align-items:center}
.lt-inline-row-top{align-items:flex-start}
.lt-inline-row-lbl{font-size:12.5px;color:var(--text-1);font-weight:600}
.lt-inline-chips{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.lt-inline-chip{padding:6px 12px;background:#fff;border:1.5px solid var(--bd-1);border-radius:100px;font-size:12px;color:var(--text-1);cursor:pointer;font-family:var(--fn);font-weight:600;transition:.12s}
.lt-inline-chip:hover{border-color:#B4B4B0;background:#FAFAFA}
.lt-inline-chip.on{background:var(--p);border-color:var(--p);color:#fff;font-weight:700}
.lt-inline-chip.lt-inline-more{border-style:dashed;color:var(--text-3)}
.lt-inline-chip.lt-inline-more:hover{background:#F0F0EB;color:var(--text-1);border-color:#B4B4B0}
.lt-inline-r{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4px 0;min-width:0}
.lt-inline-diagram{width:96px;height:96px;background:#2C2C2A;border-radius:10px;overflow:hidden;border:2px solid var(--p);margin-bottom:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.lt-inline-diagram svg{width:100%;height:100%;display:block}
.lt-inline-name{font-size:14px;font-weight:700;color:var(--p);line-height:1.2;margin-bottom:4px}
.lt-inline-desc{font-size:11.5px;color:var(--text-2);line-height:1.45;font-weight:500;max-width:220px;margin:0 auto}

@media(max-width:900px){
  .lt-inline-grid{grid-template-columns:1fr;gap:14px}
  .lt-inline-divider{display:none}
  .lt-inline-r{padding-top:10px;border-top:1.5px solid var(--bd-2)}
}

/* Editor area (canvas) */
.editor{background:var(--bg-app);font-family:var(--fn)}

/* History panel right */
.pc-hp{background:#fff;border-left:1.5px solid var(--bd-1);padding:18px 14px 12px;display:flex;flex-direction:column;min-height:0;overflow:hidden;font-family:var(--fn)}
.pc-hp-hd{display:flex;align-items:center;justify-content:space-between;padding:0 4px 12px;border-bottom:1.5px solid var(--bd-2);margin-bottom:12px}
.pc-hp-title{font-size:12.5px;font-weight:700;color:var(--text-1);letter-spacing:.05em;text-transform:uppercase}
.pc-hp-count{background:var(--p-bg);color:#9A3412;padding:2px 9px;border-radius:100px;font-weight:700;font-size:11.5px;border:1.5px solid var(--p-bd)}
.pc-hp-body{flex:1;display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding-right:2px}
.pc-hp-item{position:relative;border-radius:9px;overflow:hidden;border:1.5px solid var(--bd-1);aspect-ratio:1;cursor:pointer;background:#F3F4F6;transition:.15s}
.pc-hp-item:hover{border-color:var(--p);transform:translateY(-1px)}
.pc-hp-item.active{border:2px solid var(--p)}
.pc-hp-empty{padding:30px 6px;text-align:center;color:#A8A8A0;font-size:11.5px;line-height:1.5;font-weight:500}
.pc-hp-clear{margin-top:10px;padding:8px;font-size:12px;color:var(--text-2);background:transparent;border:1.5px solid var(--bd-1);border-radius:8px;cursor:pointer;font-family:var(--fn);font-weight:600;transition:.15s;display:flex;align-items:center;justify-content:center;gap:5px}
.pc-hp-clear:hover{background:#FAFAFA;color:var(--text-1)}
