/* AURA · Factura semiautomática · Pearl Aurora */
.aif-ov{--aif-ink:var(--aura-ink,#241b2b);--aif-soft:#594c63;--aif-muted:#806b8d;--aif-line:var(--aura-line,#eadfec);--aif-pearl:var(--aura-pearl,#fbf8fc);--aif-violet:var(--aura-violet,#674ae8);--aif-lilac:var(--aura-lilac,#c363f0);--aif-pink:#f561aa;--aif-coral:#ff9a84;position:fixed;inset:0;z-index:10030;display:grid;place-items:center;padding:clamp(.5rem,2vw,1.5rem);background:rgba(40,27,52,.38);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:aifFade .18s var(--ease,ease-out)}
@keyframes aifFade{from{opacity:0}to{opacity:1}}
@keyframes aifRise{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@keyframes aifShimmer{from{background-position:200% 0}to{background-position:-200% 0}}
.aif-modal{width:min(1180px,100%);height:min(94dvh,1000px);display:flex;flex-direction:column;background:var(--aif-pearl);color:var(--aif-ink);border:1px solid rgba(195,99,240,.2);border-radius:24px;box-shadow:0 42px 120px -42px rgba(62,40,83,.62),0 0 0 1px rgba(255,255,255,.7) inset;overflow:hidden;animation:aifRise .24s var(--ease,ease-out)}
.aif-modal::before{content:"";display:block;height:5px;flex:none;background:var(--aura-gradient,linear-gradient(90deg,#ff9a84,#f561aa 36%,#c363f0 66%,#674ae8 86%,#5476f5))}
.aif-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.05rem 1.35rem .9rem;border-bottom:1px solid var(--aif-line);background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(249,243,253,.88))}
.aif-kicker{display:block;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--aif-violet)}
.aif-head h2{margin:.12rem 0 0;font-size:1.45rem;line-height:1.1}
.aif-head-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}
.aif-steps{display:flex;gap:.35rem;align-items:center;font-size:.72rem;font-weight:700;color:var(--aif-muted)}
.aif-steps span{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem;border-radius:999px;border:1px solid var(--aif-line);background:#fff}
.aif-steps span b{display:inline-grid;place-items:center;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--aif-line);color:var(--aif-ink);font-size:.66rem}
.aif-steps span.on{border-color:rgba(195,99,240,.58);color:var(--aif-violet);background:rgba(247,239,252,.92)}
.aif-steps span.on b,.aif-steps span.done b,.aif-avatar{background:var(--aura-gradient,linear-gradient(135deg,#ff9a84,#f561aa 42%,#c363f0 70%,#674ae8));color:#fff}
.aif-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 340px}
.aif-main{min-width:0;overflow:auto;padding:1.1rem 1.35rem 1.6rem;display:flex;flex-direction:column;gap:.9rem;scroll-behavior:smooth;background:radial-gradient(circle at 4% 0,rgba(255,154,132,.07),transparent 21rem),var(--aif-pearl)}
.aif-side{border-left:1px solid var(--aif-line);background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(250,246,252,.96));overflow:auto;padding:1.1rem 1.15rem 1.3rem;display:flex;flex-direction:column;gap:.9rem}
.aif-card{background:#fff;border:1px solid var(--aif-line);border-radius:17px;padding:1rem 1.1rem;box-shadow:var(--shadow-sm,0 12px 30px rgba(75,49,93,.05))}
.aif-card.muted,.aif-total,.aif-note.info{background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(248,241,251,.91))}
.aif-card h3{margin:0 0 .65rem;font-size:.8rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--aif-soft);display:flex;align-items:center;justify-content:space-between;gap:.3rem .6rem;flex-wrap:wrap}
.aif-card h3 small{font-weight:600;letter-spacing:0;text-transform:none;color:var(--aif-muted);font-size:.74rem}
.aif-hint{font-size:.78rem;color:var(--aif-muted);line-height:1.45}
.aif-label{display:block;font-size:.72rem;font-weight:700;color:var(--aif-soft);margin:0 0 .3rem}
.aif-field{min-width:0}
.aif-input,.aif-select,.aif-textarea{width:100%;min-width:0;font:inherit;font-size:.9rem;padding:.62rem .75rem;border:1px solid var(--aif-line);border-radius:11px;background:#fff;color:var(--aif-ink);transition:border-color .15s,box-shadow .15s}
.aif-input:focus,.aif-select:focus,.aif-textarea:focus{outline:none;border-color:var(--aif-lilac);box-shadow:0 0 0 3px rgba(195,99,240,.13)}
.aif-input.aif-bad{border-color:#b6425b;box-shadow:0 0 0 3px rgba(182,66,91,.12)}
.aif-textarea{min-height:64px;resize:vertical}
.aif-grid{display:grid;gap:.7rem}.aif-grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.aif-grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.aif-grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.aif-search{position:relative}.aif-search .aif-input{padding-left:2.4rem;font-size:1rem}.aif-search svg{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);width:1.05rem;height:1.05rem;color:var(--aif-muted);pointer-events:none}
.aif-results{margin-top:.5rem;border:1px solid var(--aif-line);border-radius:12px;overflow:hidden;background:#fff;max-height:280px;overflow-y:auto}.aif-results:empty{display:none}
.aif-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem .8rem;align-items:center;padding:.6rem .8rem;border:0;border-bottom:1px solid var(--aif-line);cursor:pointer;text-align:left;width:100%;background:#fff;font:inherit;color:inherit}.aif-result:last-child{border-bottom:0}
.aif-result:hover,.aif-result.active,.aif-picker-list button:hover,.aif-picker-list button.active{background:linear-gradient(100deg,rgba(255,111,145,.08),rgba(180,57,226,.08))}
.aif-result b{font-weight:700}.aif-result .sub{font-size:.74rem;color:var(--aif-muted)}
.aif-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:999px;font-size:.68rem;font-weight:700;border:1px solid transparent;white-space:nowrap}.aif-chip.ok{background:rgba(31,140,105,.1);color:#1f7c5f;border-color:rgba(31,140,105,.25)}.aif-chip.warn{background:#fff6db;color:#725414;border-color:#ead08b}.aif-chip.bad{background:rgba(182,66,91,.08);color:#a3354d;border-color:rgba(182,66,91,.25)}.aif-chip.neutral{background:#f7f1f9;color:var(--aif-soft);border-color:var(--aif-line)}
.aif-patient{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.9rem;align-items:center}.aif-avatar{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-weight:800;font-size:1.05rem}.aif-patient .name{font-size:1.05rem;font-weight:700;line-height:1.15}.aif-patient .meta{font-size:.76rem;color:var(--aif-muted);display:flex;flex-wrap:wrap;gap:.35rem .6rem;margin-top:.25rem;align-items:center}
.aif-link{background:none;border:0;color:var(--aif-violet);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}
.aif-pending{display:flex;flex-direction:column;gap:.45rem}.aif-visit{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.65rem .8rem;border:1px solid var(--aif-line);border-radius:12px;background:#fff;cursor:pointer;text-align:left;font:inherit;color:inherit;width:100%;transition:border-color .15s,transform .15s,box-shadow .15s}.aif-visit:hover{border-color:rgba(195,99,240,.55);transform:translateY(-1px);box-shadow:0 12px 28px rgba(87,55,110,.08)}.aif-visit .when{font-size:.72rem;font-weight:800;color:var(--aif-violet);text-align:center;min-width:3.2rem;line-height:1.15}.aif-visit .when b{display:block;font-size:1rem}.aif-visit .who{font-weight:700}.aif-visit .what{font-size:.76rem;color:var(--aif-muted)}.aif-visit .price{font-weight:800;font-variant-numeric:tabular-nums}
.aif-origin{display:flex;gap:.7rem;align-items:flex-start;padding:.7rem .85rem;border-radius:12px;background:linear-gradient(135deg,rgba(255,111,145,.075),rgba(180,57,226,.075));border:1px solid rgba(195,99,240,.18);font-size:.8rem;line-height:1.4}.aif-origin .ico{font-size:1.15rem;line-height:1;flex:none}.aif-origin>div{min-width:0;flex:1;overflow-wrap:anywhere}.aif-origin .aif-chip{white-space:normal;text-align:left}.aif-origin b{color:var(--aif-ink)}
.aif-lines{width:100%;border-collapse:separate;border-spacing:0 .35rem}.aif-lines th{font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--aif-muted);text-align:left;padding:0 .35rem;font-weight:800}.aif-lines th.r,.aif-lines td.r{text-align:right}.aif-lines td{padding:0 .25rem;vertical-align:middle}.aif-lines .aif-input{padding:.5rem .6rem;font-size:.86rem}.aif-lines .num{text-align:right;font-variant-numeric:tabular-nums}.aif-lines .total{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:.4rem}.aif-lines .src{display:block;font-size:.64rem;color:var(--aif-muted);margin-top:.15rem;padding-left:.1rem}
.aif-del{border:0;background:none;color:var(--aif-muted);cursor:pointer;font-size:1rem;line-height:1;padding:.4rem;border-radius:8px}.aif-del:hover{color:#a3354d;background:rgba(182,66,91,.08)}
.aif-picker{position:relative;margin-top:.5rem}.aif-picker-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:5;background:#fff;border:1px solid var(--aif-line);border-radius:12px;box-shadow:0 16px 36px rgba(68,45,83,.14);max-height:260px;overflow:auto;display:none}.aif-picker-list.open{display:block}.aif-picker-list button{display:flex;justify-content:space-between;gap:.8rem;width:100%;text-align:left;padding:.55rem .8rem;border:0;border-bottom:1px solid var(--aif-line);background:#fff;font:inherit;color:inherit;cursor:pointer;font-size:.86rem}.aif-picker-list button:last-child{border-bottom:0}.aif-picker-list button span{font-weight:800;font-variant-numeric:tabular-nums;color:var(--aif-violet)}
.aif-quick{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.aif-quick button{font:inherit;font-size:.74rem;font-weight:700;padding:.35rem .7rem;border-radius:999px;border:1px solid var(--aif-line);background:#fff;color:var(--aif-soft);cursor:pointer;transition:border-color .15s,color .15s,transform .15s}.aif-quick button:hover{border-color:var(--aif-lilac);color:var(--aif-violet);transform:translateY(-1px)}.aif-quick button.upsell{border-color:rgba(245,97,170,.38);background:rgba(245,97,170,.07)}
.aif-toggle{display:inline-flex;align-items:center;gap:.45rem;font-size:.76rem;color:var(--aif-soft);font-weight:600;cursor:pointer;user-select:none}.aif-toggle input{accent-color:var(--aif-violet);width:1rem;height:1rem}
.aif-summary{position:sticky;top:0}.aif-total{padding:1rem 1.05rem;border-radius:16px;border:1px solid var(--aif-line)}.aif-total .row{display:flex;justify-content:space-between;gap:.6rem;font-size:.82rem;color:var(--aif-muted);padding:.18rem 0;font-variant-numeric:tabular-nums}.aif-total .row b{color:var(--aif-ink);font-weight:700}.aif-total .grand{display:flex;justify-content:space-between;align-items:baseline;margin-top:.55rem;padding-top:.6rem;border-top:2px solid var(--aif-ink)}.aif-total .grand span{font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.aif-total .grand strong{font-size:1.75rem;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.aif-total .break{font-size:.72rem;color:var(--aif-muted);margin-top:.35rem}
.aif-notes{display:flex;flex-direction:column;gap:.45rem}.aif-note{display:flex;gap:.55rem;align-items:flex-start;padding:.6rem .75rem;border-radius:11px;font-size:.77rem;line-height:1.4;border:1px solid}.aif-note.warn{background:#fff8e8;border-color:#ead5a2;color:#68501a}.aif-note.bad{background:rgba(182,66,91,.07);border-color:rgba(182,66,91,.3);color:#96344b}.aif-note.ok{background:rgba(31,140,105,.08);border-color:rgba(31,140,105,.3);color:#15634b}.aif-note.info{border-color:var(--aif-line);color:var(--aif-soft)}.aif-note .ico{flex:none;display:inline-grid;place-items:center;min-width:1.25rem;height:1.25rem;border-radius:50%;font-size:.66rem;font-weight:850;line-height:1}.aif-note .aif-link{margin-left:.25rem}
.aif-actions{display:flex;flex-direction:column;gap:.5rem}.aif-actions .btn{width:100%;padding:.78rem 1rem;font-size:.92rem;border-radius:13px}.aif-actions .btn.prim{background:var(--aura-gradient,linear-gradient(110deg,#ff9a84,#f561aa 42%,#c363f0 70%,#674ae8));color:#fff;border:0;box-shadow:0 14px 30px -14px rgba(180,57,226,.62)}.aif-actions .btn[disabled]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.aif-msg{font-size:.78rem;text-align:center;min-height:1.1rem;color:var(--aif-muted)}.aif-msg.bad{color:#a3354d;font-weight:700}.aif-msg.ok{color:#1f7c5f;font-weight:700}.aif-kbd{display:inline-block;padding:0 .35rem;border:1px solid var(--aif-line);border-bottom-width:2px;border-radius:5px;font-size:.66rem;font-family:ui-monospace,monospace;background:#fff;color:var(--aif-muted)}
.aif-success{text-align:center;padding:1.4rem 1rem}.aif-success .seal{width:64px;height:64px;border-radius:50%;margin:0 auto .8rem;display:grid;place-items:center;background:rgba(31,140,105,.12);color:#1f7c5f;font-size:1.8rem}.aif-success h4{margin:0;font-size:1.25rem}.aif-success .num{font-family:ui-monospace,monospace;font-weight:800;color:var(--aif-violet);font-size:1.05rem;margin:.3rem 0 .6rem}.aif-pay{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.5rem;margin:.6rem 0}.aif-skeleton{height:14px;border-radius:7px;background:linear-gradient(90deg,var(--aif-line) 25%,#fff 50%,var(--aif-line) 75%);background-size:200% 100%;animation:aifShimmer 1.1s infinite;margin:.35rem 0}.aif-empty{padding:1rem;text-align:center;color:var(--aif-muted);font-size:.82rem;border:1px dashed var(--aif-line);border-radius:12px}.aif-locked{pointer-events:none;opacity:.62;filter:saturate(.7)}
@media(max-width:900px){.aif-ov{padding:0;place-items:end}.aif-modal{width:100%;height:100dvh;max-height:100dvh;border-radius:0;border:0;overflow-y:auto}.aif-head{position:sticky;top:0;z-index:8}.aif-body{display:block;flex:none;min-height:auto}.aif-main{overflow:visible;padding:.85rem .9rem 1.2rem}.aif-side{position:static;border-left:0;border-top:1px solid var(--aif-line);padding:.8rem .9rem 1rem;max-height:none;overflow:visible}.aif-summary{position:static}.aif-side .aif-total{padding:.75rem .85rem}.aif-total .grand strong{font-size:1.4rem}.aif-grid.c3,.aif-grid.c4{grid-template-columns:repeat(2,minmax(0,1fr))}.aif-steps{display:none}.aif-lines thead{display:none}.aif-lines,.aif-lines tbody,.aif-lines tr,.aif-lines td{display:block;width:100%}.aif-lines tr{padding:.55rem .6rem;border:1px solid var(--aif-line);border-radius:12px;margin-bottom:.5rem;background:#fff;position:relative}.aif-lines td{padding:.2rem 0}.aif-lines td.qty,.aif-lines td.price,.aif-lines td.vat{display:inline-block;width:32%;margin-right:1%}.aif-lines td.total{display:inline-block;width:60%;text-align:left;padding-top:.4rem}.aif-lines td.act{position:absolute;top:.35rem;right:.35rem;width:auto}.aif-lines td[data-label]::before{content:attr(data-label);display:block;font-size:.62rem;color:var(--aif-muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.15rem}.aif-patient{grid-template-columns:auto minmax(0,1fr)}.aif-patient .aif-link{grid-column:1/-1;justify-self:start}}
@media(max-width:520px){.aif-input,.aif-select,.aif-textarea{font-size:16px}.aif-grid.c2,.aif-grid.c3,.aif-grid.c4,.aif-pay{grid-template-columns:minmax(0,1fr)}.aif-head{padding-left:1rem;padding-right:1rem}.aif-main,.aif-side{padding-left:.75rem;padding-right:.75rem}.aif-card{padding:.9rem}.aif-origin{padding:.65rem}.aif-total .grand strong{font-size:1.32rem}}
@media(prefers-reduced-motion:reduce){.aif-ov,.aif-modal,.aif-skeleton{animation:none}.aif-visit,.aif-quick button{transition:none}}
