.arco-wrap{--p:#0b3b7a;--p2:#1f6feb;--acc:#ff7a1a;--gold:#ffc23d;--ok:#12a150;--bad:#e5484d;--ink:#172033;--mut:#667085;--bd:#e3e8f0;--bg:#f5f7fb;--r:18px;
	max-width:880px;margin:24px auto;color:var(--ink);font-family:inherit;position:relative;container-type:inline-size}
.arco-wrap *{box-sizing:border-box}
.arco-wrap [hidden]{display:none!important}

/* ---------- Hero ---------- */
.arco-hero{position:relative;overflow:hidden;border-radius:24px;padding:28px 28px 22px;color:#fff;
	background:radial-gradient(120% 140% at 100% 0,#ff7a1a 0,transparent 45%),linear-gradient(135deg,#0b3b7a 0,#1f4fb8 55%,#6b2fd6 100%);
	box-shadow:0 18px 40px -18px rgba(11,59,122,.6)}
.arco-hero-bg span{position:absolute;border-radius:50%;background:rgba(255,255,255,.08);animation:arcoFloat 9s ease-in-out infinite}
.arco-hero-bg span:nth-child(1){width:180px;height:180px;top:-60px;left:-40px}
.arco-hero-bg span:nth-child(2){width:90px;height:90px;bottom:-30px;left:40%;animation-delay:-3s}
.arco-hero-bg span:nth-child(3){width:14px;height:14px;top:30%;left:55%;background:var(--gold);animation-delay:-1s}
.arco-hero-bg span:nth-child(4){width:10px;height:10px;top:70%;left:20%;background:#fff;animation-delay:-5s}
.arco-hero-bg span:nth-child(5){width:8px;height:8px;top:18%;left:35%;background:#ff9fb3;animation-delay:-7s}
@keyframes arcoFloat{50%{transform:translateY(-12px) scale(1.05)}}
.arco-hero-in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px}
.arco-kicker{display:inline-block;background:rgba(255,255,255,.18);backdrop-filter:blur(4px);padding:4px 12px;border-radius:99px;font-size:.75rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase}
.arco-hero h2{margin:10px 0 6px;color:#fff;font-size:clamp(1.4rem,4vw,2.1rem);line-height:1.15;font-weight:800}
.arco-hero p{margin:0;opacity:.85;font-size:.95rem}
.arco-ring{position:relative;width:118px;height:118px;flex:none}
.arco-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.arco-ring circle{fill:none;stroke:rgba(255,255,255,.2);stroke-width:10}
.arco-ring .arco-ring-v{stroke:var(--gold);stroke-linecap:round;stroke-dasharray:326.7;stroke-dashoffset:calc(326.7 - 326.7 * var(--pct) / 100);transition:stroke-dashoffset .8s cubic-bezier(.2,.8,.2,1)}
.arco-ring div{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.arco-ring b{font-size:1.6rem;font-weight:800;line-height:1}
.arco-ring small{font-size:.7rem;opacity:.85}
.arco-kpis{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}
.arco-kpi{background:rgba(255,255,255,.13);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:12px 14px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}
.arco-kpi i{grid-row:span 2;font-style:normal;font-size:1.5rem}
.arco-kpi b{font-size:1.35rem;font-weight:800;line-height:1.1}
.arco-kpi span{font-size:.75rem;opacity:.85}
.arco-kpi.ok b{color:#7dffb0}.arco-kpi.pend b{color:#ffd27a}.arco-kpi.aut b{color:#c7b8ff}

/* ---------- Búsqueda ---------- */
.arco-search{position:relative;display:flex;gap:10px;margin:-18px 18px 20px;z-index:2;background:#fff;padding:10px;border-radius:18px;box-shadow:0 14px 34px -12px rgba(23,32,51,.25)}
.arco-search-ic{position:absolute;left:26px;top:50%;width:22px;height:22px;transform:translateY(-50%);fill:none;stroke:var(--mut);stroke-width:2.2;stroke-linecap:round}
.arco-search input{flex:1;min-width:0;font-size:1.35rem;font-weight:600;letter-spacing:1.5px;padding:14px 14px 14px 46px;border:2px solid transparent;border-radius:12px;background:var(--bg);color:var(--ink);transition:.2s}
.arco-search input:focus{outline:0;border-color:var(--p2);background:#fff;box-shadow:0 0 0 4px rgba(31,111,235,.12)}
.arco-search input::placeholder{font-weight:400;letter-spacing:0;font-size:1rem}

/* ---------- Botones ---------- */
.arco-btn{border:0;border-radius:12px;padding:14px 26px;font-size:1rem;font-weight:700;cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--p2),var(--p));box-shadow:0 8px 18px -8px rgba(31,111,235,.7);transition:transform .15s,box-shadow .15s,filter .15s;white-space:nowrap}
.arco-btn:hover{transform:translateY(-2px);filter:brightness(1.07)}
.arco-btn:active{transform:translateY(0)}
.arco-btn:disabled{opacity:.6;cursor:wait;transform:none}
.arco-btn.ok{background:linear-gradient(135deg,#22c55e,var(--ok));box-shadow:0 10px 22px -8px rgba(18,161,80,.7);font-size:1.05rem}
.arco-btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--bd);box-shadow:none}
.arco-link{background:none;border:0;color:var(--p2);cursor:pointer;font-weight:600;padding:0;font-size:.85rem}

/* ---------- Mensajes ---------- */
.arco-msg{display:flex;gap:10px;align-items:center;padding:14px 18px;border-radius:14px;margin:0 0 16px;font-weight:600;animation:arcoIn .35s ease}
.arco-msg.ok{background:#e9fbf0;color:#0b7a3c;border:1px solid #a8e8c1}
.arco-msg.err{background:#fff0f0;color:#c0262c;border:1px solid #ffc0c2;animation:arcoIn .35s ease,arcoShake .4s .1s}
.arco-msg.info{background:#eef4ff;color:var(--p)}
@keyframes arcoIn{from{opacity:0;transform:translateY(-8px)}}
@keyframes arcoShake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}

/* ---------- Tarjeta resultado ---------- */
.arco-card{background:#fff;border:1px solid var(--bd);border-radius:22px;padding:22px;box-shadow:0 20px 40px -24px rgba(23,32,51,.35);animation:arcoIn .4s ease;position:relative;overflow:hidden}
.arco-card::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--ok),#7dd3fc)}
.arco-card.is-done::before{background:linear-gradient(90deg,var(--bad),var(--acc))}
.arco-person{display:flex;align-items:center;gap:14px}
.arco-avatar{width:58px;height:58px;flex:none;border-radius:16px;display:grid;place-items:center;font-weight:800;font-size:1.3rem;color:#fff;background:linear-gradient(135deg,var(--acc),#ff4f7b)}
.arco-person-txt{flex:1;min-width:0}
.arco-person h3{margin:0;font-size:clamp(1.1rem,3.2vw,1.45rem);font-weight:800;line-height:1.2;overflow-wrap:anywhere}
.arco-sub{margin:3px 0 0;color:var(--mut);font-weight:600;letter-spacing:.5px}
.arco-badge{padding:8px 14px;border-radius:99px;font-size:.75rem;font-weight:800;letter-spacing:.6px;white-space:nowrap}
.arco-badge.pend{background:#e9fbf0;color:#0b7a3c}
.arco-badge.ok{background:#fff0f0;color:#c0262c;animation:arcoPulse 1.6s infinite}
@keyframes arcoPulse{50%{box-shadow:0 0 0 6px rgba(229,72,77,.15)}}
.arco-extra{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:18px 0 6px}
.arco-extra:empty{display:none}
.arco-extra div{background:var(--bg);border-radius:12px;padding:10px 12px;border-left:3px solid var(--p2)}
.arco-extra dt{font-size:.68rem;text-transform:uppercase;color:var(--mut);letter-spacing:.5px;font-weight:700}
.arco-extra dd{margin:3px 0 0;font-weight:700;overflow-wrap:anywhere}
.arco-done{margin-top:16px;background:linear-gradient(135deg,#fff0f0,#fff6ec);color:#a3191f;border:1px solid #ffc0c2;border-radius:14px;padding:16px 18px;line-height:1.6}

/* ---------- Formulario ---------- */
#arco-form{margin-top:18px;border-top:1px dashed var(--bd);padding-top:18px}
.arco-step{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--p2);color:#fff;font-size:.78rem;font-weight:800;margin-right:6px}
.arco-who{border:0;padding:0;margin:0 0 16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.arco-who legend{font-weight:800;margin-bottom:10px;padding:0}
.arco-who label{cursor:pointer;position:relative}
.arco-who input{position:absolute;opacity:0;pointer-events:none}
.arco-who label>span{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:14px 16px;border:2px solid var(--bd);border-radius:16px;transition:.2s;background:#fff;height:100%}
.arco-who i{grid-row:span 2;font-style:normal;font-size:1.8rem}
.arco-who b{font-size:1rem}
.arco-who small{color:var(--mut);font-size:.78rem}
.arco-who label:hover>span{border-color:#b7c9ee}
.arco-who input:checked+span{border-color:var(--p2);background:linear-gradient(135deg,#eef4ff,#f6f0ff);box-shadow:0 8px 20px -12px rgba(31,111,235,.7)}
.arco-who input:checked+span::after{content:"✓";position:absolute;top:8px;right:12px;width:22px;height:22px;border-radius:50%;background:var(--p2);color:#fff;display:grid;place-items:center;font-size:.75rem;font-weight:800}
.arco-who input:focus-visible+span{outline:3px solid rgba(31,111,235,.35)}
.arco-aut{background:var(--bg);border-radius:16px;padding:16px;margin-bottom:16px;animation:arcoIn .3s ease}
.arco-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.arco-wrap label{display:block;font-size:.85rem;font-weight:700;color:#344054}
.arco-wrap label input:not([type=radio]):not([type=file]),.arco-wrap label select,.arco-wrap label textarea{display:block;width:100%;margin-top:6px;padding:11px 13px;border:1.5px solid var(--bd);border-radius:11px;font-size:1rem;font-weight:400;background:#fff;color:var(--ink);transition:.2s;font-family:inherit}
.arco-wrap label input:focus,.arco-wrap label select:focus,.arco-wrap label textarea:focus{outline:0;border-color:var(--p2);box-shadow:0 0 0 4px rgba(31,111,235,.12)}
.arco-sign{margin-bottom:16px}
.arco-sign-h{display:flex;justify-content:space-between;align-items:center;font-weight:800;margin-bottom:8px}
.arco-canvas-box{position:relative;border-radius:16px;background:repeating-linear-gradient(0deg,#fff 0 34px,#f1f4f9 34px 35px);border:2px dashed #b7c9ee}
.arco-canvas-box em{position:absolute;left:18px;bottom:14px;color:#a6b0c3;font-size:.85rem;pointer-events:none;border-top:1.5px solid #c9d2e3;padding-top:4px;width:min(260px,60%)}
.arco-canvas-box.signed em{opacity:0}
.arco-canvas-box canvas{display:block;width:100%;height:200px;touch-action:none;cursor:crosshair;position:relative}
.arco-obs{margin-bottom:6px}
.arco-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}

/* ---------- Confeti ---------- */
.arco-confetti{position:fixed;inset:0;pointer-events:none;z-index:99999;overflow:hidden}
.arco-confetti i{position:absolute;top:-14px;width:10px;height:14px;border-radius:2px;animation:arcoFall linear forwards}
@keyframes arcoFall{to{transform:translate3d(var(--x),110vh,0) rotate(var(--r));opacity:.9}}

/* ---------- Responsive ---------- */
@container (max-width:640px){
	.arco-hero{padding:22px 18px 18px;border-radius:20px}
	.arco-ring{width:92px;height:92px}
	.arco-ring b{font-size:1.25rem}
	.arco-kpis{grid-template-columns:1fr 1fr}
	.arco-search{margin:-14px 8px 16px;flex-wrap:wrap}
	.arco-search input{font-size:1.15rem}
	.arco-search .arco-btn{flex:1 1 100%}
	.arco-search-ic{top:36px}
	.arco-card{padding:18px 16px}
	.arco-person{flex-wrap:wrap}
	.arco-avatar{width:50px;height:50px;font-size:1.1rem;border-radius:14px}
	.arco-person-txt{flex:1 1 calc(100% - 64px)}
	.arco-badge{margin-left:64px;margin-top:-4px}
	.arco-extra{grid-template-columns:1fr 1fr}
	.arco-hero-bg span:nth-child(n+3){display:none}
	.arco-who,.arco-grid{grid-template-columns:1fr}
	.arco-actions{flex-direction:column-reverse}
	.arco-actions .arco-btn{width:100%}
	.arco-canvas-box canvas{height:170px}
}
@container (max-width:400px){
	.arco-hero-in{flex-direction:column;align-items:flex-start}
	.arco-ring{position:absolute;top:0;right:0;width:74px;height:74px}
	.arco-ring b{font-size:1rem}.arco-ring small{display:none}
	.arco-hero h2{padding-right:80px}
	.arco-kpi{padding:10px}
	.arco-kpi i{font-size:1.2rem}
	.arco-kpi b{font-size:1.1rem}
}
@media (prefers-reduced-motion:reduce){.arco-wrap *,.arco-confetti i{animation:none!important;transition:none!important}}

/* ---------- Sesión del entregador ---------- */
.arco-user{position:relative;z-index:1;display:flex;align-items:center;gap:10px;margin:-6px 0 16px;padding:6px 6px 6px 6px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(6px);border-radius:99px;width:fit-content;max-width:100%}
.arco-user-av{width:34px;height:34px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#3b2a00;font-weight:800}
.arco-user-txt{display:flex;flex-direction:column;line-height:1.1;min-width:0}
.arco-user-txt small{font-size:.68rem;opacity:.8}
.arco-user-txt b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arco-user-hoy{background:rgba(255,255,255,.18);border-radius:99px;padding:4px 10px;font-size:.78rem;white-space:nowrap}
.arco-user-out{color:#fff!important;text-decoration:none;background:rgba(0,0,0,.2);border-radius:99px;padding:7px 14px;font-weight:700;font-size:.82rem;white-space:nowrap;transition:.2s}
.arco-user-out:hover{background:var(--bad)}

/* ---------- Login ---------- */
.arco-login{display:grid;grid-template-columns:1.05fr 1fr;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 24px 50px -24px rgba(11,59,122,.55)}
.arco-login-side{position:relative;overflow:hidden;color:#fff;padding:40px 34px;display:flex;flex-direction:column;justify-content:flex-end;min-height:420px;
	background:radial-gradient(120% 120% at 100% 0,#ff7a1a 0,transparent 50%),linear-gradient(150deg,#0b3b7a 0,#1f4fb8 55%,#6b2fd6 100%)}
.arco-login-side>*{position:relative}
.arco-login-side h2{color:#fff;margin:12px 0 8px;font-size:clamp(1.5rem,4vw,2.2rem);font-weight:800;line-height:1.15}
.arco-login-side p{margin:0;opacity:.88;line-height:1.5}
.arco-login-gift{position:absolute!important;top:34px;left:34px;font-size:4.2rem;animation:arcoGift 3s ease-in-out infinite;filter:drop-shadow(0 10px 18px rgba(0,0,0,.25))}
@keyframes arcoGift{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg) translateY(-8px)}}
.arco-login-form{padding:40px 34px;display:flex;flex-direction:column;gap:16px;justify-content:center}
.arco-login-form h3{margin:0 0 4px;font-size:1.5rem;font-weight:800}
.arco-login-form .arco-msg{margin:0}
.arco-in-ic{position:relative;display:block;margin-top:6px}
.arco-in-ic i{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-style:normal;opacity:.6;pointer-events:none}
.arco-wrap .arco-in-ic input{margin-top:0!important;padding:14px 44px 14px 42px!important;font-size:1.05rem!important;border-radius:12px!important;background:var(--bg)!important}
.arco-wrap .arco-in-ic input:focus{background:#fff!important}
.arco-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:0;cursor:pointer;font-size:1.1rem;opacity:.6;padding:6px}
.arco-eye:hover{opacity:1}
.arco-btn-block{width:100%;padding:16px;font-size:1.05rem;margin-top:4px}
.arco-login-foot{margin:0;text-align:center;color:var(--mut);font-size:.85rem}
@container (max-width:640px){
	.arco-login{grid-template-columns:1fr;border-radius:22px}
	.arco-login-side{min-height:0;padding:96px 22px 24px}
	.arco-login-gift{top:20px;left:22px;font-size:3.2rem}
	.arco-login-form{padding:26px 22px 28px}
	.arco-user{width:100%;border-radius:16px}
	.arco-user-txt{flex:1}
}
.arco-login-side .arco-hero-bg{position:absolute;inset:0}
.arco-login-side .arco-kicker{align-self:flex-start}
