:root{color:#1f2328;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f6f3ef;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr)}.editor-pane{padding:34px clamp(22px,4vw,56px);background:#fff;border-right:1px solid #e5ded5;overflow-y:auto}.brand-row{display:flex;align-items:center;gap:10px;color:#8c2f39;font-weight:800;letter-spacing:0;margin-bottom:28px}.brand-row span{display:grid;gap:2px}.brand-row small{color:#8f8278;font-size:.76rem;font-weight:700}.card-form{display:grid;gap:18px;max-width:560px}label{display:grid;gap:7px;color:#3f3a35;font-size:.92rem;font-weight:700}input,select,textarea{width:100%;border:1px solid #d7cfc5;border-radius:8px;background:#fffdfb;color:#1f2328;padding:12px 13px;outline:none}input:focus,select:focus,textarea:focus{border-color:#8c2f39;box-shadow:0 0 0 3px #8c2f391f}textarea{min-height:128px;resize:vertical;line-height:1.45}.counter{justify-self:end;color:#756e66;font-size:.82rem;font-weight:600}.upload-box{min-height:56px;border:1px dashed #b8aa9a;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;color:#7b3c44;background:#fbf7f2}.upload-box input{display:none}.crop-controls{display:grid;gap:12px;padding:14px;border:1px solid #e4d9cd;border-radius:8px;background:#fffaf4}.crop-controls label{grid-template-columns:94px 1fr;align-items:center;gap:12px;font-size:.84rem}.crop-controls label span{display:inline-flex;align-items:center;gap:6px}.crop-controls input[type=range]{padding:0;accent-color:#8c2f39}.submit-button{height:52px;border:0;border-radius:8px;color:#fff;background:#8c2f39;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800;cursor:pointer}.submit-button:disabled{opacity:.68;cursor:wait}.ghost-button,.icon-text-button,.bulk-bar button,.row-actions button,.modal-header button{border:1px solid #d7cfc5;border-radius:8px;background:#fffdfb;color:#3f3a35;min-height:38px;padding:8px 11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:800;cursor:pointer}.ghost-button:hover,.icon-text-button:hover,.bulk-bar button:hover,.row-actions button:hover,.modal-header button:hover{border-color:#8c2f39}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.status{margin:0;padding:12px 13px;border-radius:8px;display:flex;gap:8px;align-items:center;font-size:.9rem;font-weight:700}.status.success{background:#eef8f0;color:#226239}.status.error{background:#fff0ed;color:#a33b2d}.preview-pane{min-height:100vh;display:grid;place-items:center;padding:34px;background:linear-gradient(135deg,#ffffffb8,#ffffff38),radial-gradient(circle at 20% 20%,var(--soft),transparent 38%),#efe9e0}.wedding-card{width:min(430px,100%);aspect-ratio:.705;border-radius:22px;padding:18px;background:linear-gradient(145deg,#ffffffd1,#ffffff6b),linear-gradient(160deg,var(--accent),#efe3bc 44%,var(--accent));border:8px solid #e8c865;box-shadow:0 28px 80px #312a2342;display:grid;grid-template-rows:auto auto auto auto auto;gap:12px;position:relative;overflow:hidden}.wedding-card:before{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border:1px solid rgba(255,255,255,.55);border-radius:15px;pointer-events:none}.card-top,.skill-box,.card-footer,.type-ribbon{position:relative;z-index:1}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:#ffffffc2}.eyebrow{margin:0 0 2px;font-size:.72rem;font-weight:900;color:var(--accent);text-transform:uppercase}.card-top h1{margin:0;font-size:clamp(1.4rem,5vw,2rem);line-height:1}.hp{color:#241b17;font-size:1.8rem;line-height:1;font-weight:950;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.hp svg{color:#b2313e}.photo-frame{position:relative;z-index:1;border:5px solid rgba(255,255,255,.82);background:var(--soft);box-shadow:inset 0 0 0 2px #0000001f;border-radius:12px;overflow:hidden;min-height:0;aspect-ratio:1000 / 720;touch-action:none}.photo-frame img{position:absolute;top:50%;left:50%;width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none;transform:translate(-50%,-50%);transform-origin:center;will-change:transform}.photo-frame.is-draggable{cursor:grab}.photo-frame.is-draggable:active{cursor:grabbing}.photo-empty{height:100%;min-height:260px;display:grid;place-items:center;color:#00000059;font-weight:900;font-size:1.3rem}.type-ribbon{width:fit-content;max-width:100%;justify-self:center;margin-top:-4px;padding:7px 22px;border-radius:999px;background:#fff;color:var(--accent);font-weight:950;box-shadow:0 6px 20px #00000021}.skill-box{padding:13px;border-radius:10px;background:#fffc;color:#211f1c;min-height:122px}.skill-row{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;margin-bottom:8px}.energy-dot{width:20px;height:20px;border-radius:50%;background:var(--accent);border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 1px #0003}.skill-box p{margin:0;line-height:1.35;font-size:.95rem}.card-footer{display:flex;justify-content:space-between;gap:10px;color:#1f2328b3;font-size:.72rem;font-weight:800}.admin-login{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f6f3ef}.login-card{width:min(420px,100%);display:grid;gap:16px;padding:24px;border-radius:8px;background:#fff;border:1px solid #e5ded5;box-shadow:0 24px 70px #312a231f}.admin-shell{min-height:100vh;background:#f6f3ef;padding:24px}.admin-topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px}.admin-topbar p{margin:0 0 4px;color:#8c2f39;font-weight:900;text-transform:uppercase;font-size:.75rem}.admin-topbar h1{margin:0;font-size:clamp(1.7rem,4vw,2.5rem)}.admin-actions,.bulk-bar,.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 190px;gap:12px;margin-bottom:12px}.search-box{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #d7cfc5;border-radius:8px;padding:0 12px}.search-box input{border:0;box-shadow:none;background:transparent}.bulk-bar{background:#fff;border:1px solid #e5ded5;border-radius:8px;padding:10px;margin-bottom:14px}.password-panel{display:grid;grid-template-columns:minmax(220px,360px) auto minmax(180px,1fr);align-items:end;gap:12px;background:#fff;border:1px solid #e5ded5;border-radius:8px;padding:12px;margin-bottom:14px}.password-panel p{margin:0;color:#5d554e;font-weight:800}.bulk-bar span{color:#5d554e;font-weight:800;margin-right:auto}.admin-status{margin-bottom:14px}.admin-grid{display:grid;gap:10px}.admin-card-row{display:grid;grid-template-columns:34px 72px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e5ded5;border-radius:8px;background:#fff}.select-check{display:grid;place-items:center}.select-check input{width:18px;height:18px;accent-color:#8c2f39}.admin-thumb{width:72px;aspect-ratio:1;object-fit:cover;border-radius:8px;border:1px solid #d7cfc5}.admin-card-info{min-width:0}.row-title{display:flex;align-items:center;gap:9px;margin-bottom:4px}.admin-card-info p{margin:3px 0;color:#5d554e;line-height:1.35;overflow-wrap:anywhere}.pill{border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:900;text-transform:uppercase}.pill.pendiente{background:#fff4dc;color:#8a5f00}.pill.aprobado{background:#eaf7ee;color:#216239}.pill.rechazado{background:#fff0ed;color:#9a3328}.admin-empty{color:#756e66;font-weight:800;padding:18px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#221d1885;display:grid;place-items:center;padding:20px}.edit-modal{width:min(1080px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:8px;border:1px solid #e5ded5}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #e5ded5}.modal-header h2{margin:0}.modal-body{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(360px,1fr);gap:18px;padding:18px}.modal-form{display:grid;align-content:start;gap:14px}.modal-preview{display:grid;place-items:start center;padding:16px;border-radius:8px;background:#f6f3ef}.modal-preview .wedding-card{width:min(380px,100%)}.print-export{display:none}.wedding-card.bebe{background:radial-gradient(circle at 12% 18%,#d94435 0 5px,transparent 6px),radial-gradient(circle at 36% 42%,#d94435 0 4px,transparent 5px),radial-gradient(circle at 76% 24%,#d94435 0 5px,transparent 6px),radial-gradient(circle at 84% 74%,#d94435 0 4px,transparent 5px),radial-gradient(circle at 22% 72%,#f0bf36 0 5px,transparent 6px),radial-gradient(circle at 52% 17%,#f0bf36 0 4px,transparent 5px),radial-gradient(circle at 68% 52%,#f0bf36 0 5px,transparent 6px),radial-gradient(circle at 91% 39%,#f0bf36 0 4px,transparent 5px),radial-gradient(circle at 18% 35%,#2f73c8 0 4px,transparent 5px),radial-gradient(circle at 46% 64%,#2f73c8 0 5px,transparent 6px),radial-gradient(circle at 72% 87%,#2f73c8 0 4px,transparent 5px),radial-gradient(circle at 87% 13%,#2f73c8 0 5px,transparent 6px),radial-gradient(circle at 28% 12%,#2f8f5b 0 4px,transparent 5px),radial-gradient(circle at 58% 36%,#2f8f5b 0 5px,transparent 6px),radial-gradient(circle at 81% 59%,#2f8f5b 0 4px,transparent 5px),radial-gradient(circle at 13% 86%,#2f8f5b 0 5px,transparent 6px),radial-gradient(circle at 31% 54%,#333544 0 4px,transparent 5px),radial-gradient(circle at 63% 9%,#333544 0 5px,transparent 6px),radial-gradient(circle at 92% 91%,#333544 0 4px,transparent 5px),radial-gradient(circle at 8% 58%,#9b6b3d 0 5px,transparent 6px),radial-gradient(circle at 41% 83%,#9b6b3d 0 4px,transparent 5px),radial-gradient(circle at 73% 41%,#9b6b3d 0 5px,transparent 6px),radial-gradient(circle,rgba(217,68,53,.62) 0 3px,transparent 4px) 0 0 / 48px 52px,radial-gradient(circle,rgba(240,191,54,.68) 0 3px,transparent 4px) 18px 21px / 54px 58px,radial-gradient(circle,rgba(47,115,200,.62) 0 3px,transparent 4px) 32px 7px / 59px 51px,radial-gradient(circle,rgba(47,143,91,.64) 0 3px,transparent 4px) 12px 38px / 56px 62px,radial-gradient(circle,rgba(51,53,68,.5) 0 2px,transparent 3px) 41px 26px / 64px 55px,radial-gradient(circle,rgba(155,107,61,.58) 0 3px,transparent 4px) 24px 12px / 61px 67px,linear-gradient(145deg,#fffaf6,#fff1e7 58%,#fff7f0);border-color:#ead79a}.wedding-card.bebe .card-top,.wedding-card.bebe .skill-box,.wedding-card.bebe .type-ribbon{background:#ffffffe6}.wedding-card.bebe .type-ribbon{color:#7b4d24}.wedding-card.bebe .eyebrow{color:#8c2f39}.wedding-card.eterno{background:linear-gradient(145deg,#ffffff24,#ffffff05),linear-gradient(160deg,#050608,#2b3036 42%,#0b0c0f 74%,#c7cdd4);border-color:#c9cdd2;box-shadow:0 28px 90px #0000006b}.wedding-card.eterno .card-top,.wedding-card.eterno .skill-box,.wedding-card.eterno .type-ribbon{background:#e8ebeee0}.wedding-card.eterno .card-footer{color:#f6f7f9d1}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.editor-pane{border-right:0;border-bottom:1px solid #e5ded5}.preview-pane{min-height:auto}.admin-toolbar,.modal-body{grid-template-columns:1fr}.admin-card-row{grid-template-columns:30px 64px minmax(0,1fr)}.row-actions{grid-column:1 / -1}}@media print{body{background:#fff}.admin-shell>:not(.print-export){display:none!important}.print-export{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:0}.print-export .wedding-card{width:100%;page-break-inside:avoid;break-inside:avoid;box-shadow:none}}
