:root{--bg:#eef1f2;--surface:#fff;--ink:#15262b;--muted:#5d6f74;--line:#d5dde0;--accent:#0f6b6b;--accent-ink:#fff;--accent-soft:#dcefee;--danger:#b3261e;--font-display:"Bricolage Grotesque", "Segoe UI", sans-serif;--font-body:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1a1d;--surface:#162529;--ink:#e5eef0;--muted:#93a8ad;--line:#28393e;--accent:#4fb3ad;--accent-ink:#0b1a1c;--accent-soft:#1b3a3c;--danger:#f2877f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e1a1d;--surface:#162529;--ink:#e5eef0;--muted:#93a8ad;--line:#28393e;--accent:#4fb3ad;--accent-ink:#0b1a1c;--accent-soft:#1b3a3c;--danger:#f2877f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);margin:0;font-size:15px;line-height:1.5}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0}h2{font-size:1.15rem}input,select,textarea,button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{border:1px solid var(--line);background:var(--surface);border-radius:6px;width:100%;min-width:0;padding:8px 10px}input[type=color]{width:64px;height:40px;padding:2px}input[type=file]{padding:6px}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:6px;padding:8px 14px}.btn:hover:not(:disabled){border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn.big{padding:14px 24px;font-size:1.05rem}.btn:disabled{opacity:.5;cursor:default}.topbar{padding:12px max(16px, env(safe-area-inset-right,0px)) 12px max(16px, env(safe-area-inset-left,0px));background:var(--surface);border-bottom:1px solid var(--line);top:env(safe-area-inset-top,0px);z-index:5;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky}.brand{cursor:pointer;font-family:var(--font-display);letter-spacing:-.02em;color:var(--accent);background:0 0;border:0;font-size:1.4rem;font-weight:800}.profile-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:10px;max-width:60%;padding:4px 14px 4px 4px;display:flex}.profile-btn span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-btn img,.avatar{object-fit:cover;border-radius:50%;flex:none;width:32px;height:32px}.profile-btn img{object-fit:contain;box-sizing:border-box;background:#fff;border-radius:6px;width:52px;height:34px;padding:2px}.avatar{background:var(--accent);color:var(--accent-ink);place-items:center;font-weight:700;display:grid}.home,.work{max-width:1360px;padding:32px max(16px, env(safe-area-inset-right,0px)) 48px max(16px, env(safe-area-inset-left,0px));margin:0 auto}.home{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.home h1{letter-spacing:-.02em;max-width:20ch;font-size:clamp(1.7rem,4.5vw,2.6rem)}.lead{color:var(--muted);max-width:52ch;margin:0}.dropzone{border:2px dashed var(--line);background:var(--surface);width:100%;max-width:640px;color:var(--accent);border-radius:14px;flex-direction:column;align-items:center;gap:12px;margin-top:8px;padding:40px 20px;transition:border-color .15s,background .15s;display:flex}.dropzone p{color:var(--muted);margin:0}.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}.hint{background:var(--accent-soft);color:var(--ink);cursor:pointer;border:0;border-radius:999px;padding:8px 14px}.error{color:var(--danger)}.work{flex-direction:column;gap:16px;padding-bottom:140px;display:flex}.work-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.work-head>div{flex-direction:column;min-width:0;display:flex}.work-head small,.muted{color:var(--muted)}.steps{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.steps button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;display:flex}.steps b{background:var(--line);border-radius:50%;place-items:center;width:22px;height:22px;font-size:.8rem;display:grid}.steps .on{border-color:var(--accent);font-weight:600}.steps .on b,.steps .done b{background:var(--accent);color:var(--accent-ink)}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:14px;padding:20px;display:flex}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.wide{grid-column:1/-1}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field>span{font-size:.85rem;font-weight:600}.field small{color:var(--muted)}.bulk{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.seg{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-self:flex-start;display:inline-flex;overflow:hidden}.seg button{background:var(--surface);cursor:pointer;border:0;padding:8px 14px}.seg .on{background:var(--accent);color:var(--accent-ink);font-weight:600}.iva-picker{align-items:flex-end}.iva-other{width:170px}.text-block{border-bottom:1px solid var(--line);flex-direction:column;gap:10px;padding-bottom:14px;display:flex}.scroll{overflow-x:auto}.lines{border-collapse:collapse;width:100%;min-width:640px}.lines th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:4px;font-size:.8rem}.lines td{padding:4px}.lines .num{text-align:right;font-variant-numeric:tabular-nums;width:100px}.lines .num.small{width:60px}.lines .strong{font-weight:600}.margins{white-space:nowrap}.margins>*{vertical-align:middle;display:inline-block}.chip{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:6px;margin-right:4px;padding:6px 9px}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.icon{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:6px}.bar{padding:12px max(16px, env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));background:var(--surface);border-top:1px solid var(--line);z-index:4;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0}.sums{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:8px 20px;font-size:.9rem;display:flex}.sums b{color:var(--ink)}.nav{gap:8px;display:flex}.overlay{z-index:10;background:#0008;justify-content:flex-end;display:flex;position:fixed;inset:0}.profile{background:var(--bg);flex-direction:column;width:min(720px,100%);height:100%;display:flex}.profile>header{padding:16px max(16px, env(safe-area-inset-right,0px)) 16px 20px;background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.profile-body{flex:1;min-height:0;display:flex}.profile nav{border-right:1px solid var(--line);flex-direction:column;flex:none;gap:4px;width:170px;padding:16px;display:flex}.profile nav button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:10px 12px}.profile nav .on{background:var(--accent-soft);font-weight:600}.panel{min-width:0;padding:20px max(16px, env(safe-area-inset-right,0px)) 24px 20px;flex-direction:column;flex:1;align-content:flex-start;gap:16px;display:flex;overflow-y:auto}.logo-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.logo-row img,.logo-empty{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:6px;max-width:160px;height:56px}.logo-empty{width:100px;color:var(--muted);place-items:center;font-size:.8rem;display:grid}.logo-row input[type=file]{flex:1;min-width:160px}.font-sample{background:var(--surface);border:1px solid var(--line);border-radius:6px;margin:0;padding:12px}@media (width<=560px){.profile-body{flex-direction:column}.profile nav{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;width:auto;overflow-x:auto}}.paper{overflow-x:auto}.quote{--q-accent:#0f6b6b;color:#1b1b1b;background:#fff;border-radius:4px;min-width:560px;padding:56px 56px 64px;font-size:14px;line-height:1.5;box-shadow:0 2px 12px #0002}.quote header{border-bottom:3px solid var(--q-accent);justify-content:space-between;align-items:center;gap:32px;padding-bottom:28px;display:flex}.quote header img{object-fit:contain;max-width:320px;max-height:130px}.quote .q-company{text-align:right;color:#444;font-size:.95em;line-height:1.55}.quote .q-company h2{font:inherit;color:#1b1b1b;margin:0 0 6px;font-size:1.35em;font-weight:700}.quote h1{font:inherit;color:var(--q-accent);margin:0 0 6px;font-size:2.4em;font-weight:700;line-height:1.1}.quote .q-meta{flex-wrap:wrap;justify-content:space-between;gap:32px;margin:36px 0 32px;display:flex}.quote .q-ref{font-weight:600}.quote .q-date{color:#666}.quote .q-client{border-left:4px solid var(--q-accent);background:#f6f6f4;flex-direction:column;gap:2px;min-width:220px;padding:16px 20px;display:flex}.quote .q-client small{text-transform:uppercase;letter-spacing:.1em;color:#777;margin-bottom:4px}.quote .q-client strong{font-size:1.1em}.quote table{border-collapse:collapse;border:1px solid var(--q-line);width:100%;margin:24px 0 8px}.quote{--q-line:color-mix(in srgb, var(--q-accent) 45%, #fff)}.quote thead{display:table-header-group}.quote tr{break-inside:avoid}.quote .q-items tbody tr,.quote .q-items td{break-inside:auto}.quote .q-desc strong,.quote .q-body,.quote .q-size,.quote table.q-specs{break-inside:avoid}.quote .q-desc strong{break-after:avoid}.quote th,.quote td{border:1px solid var(--q-line);text-align:left;vertical-align:top;padding:18px 12px}.quote th{background:var(--q-accent);color:#fff;border-color:var(--q-accent);text-transform:uppercase;letter-spacing:.06em;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:12px;font-size:.85em;font-weight:600}.quote tbody tr:nth-child(2n) td{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fafaf8}.quote .q-n{text-align:center;color:#666;width:44px}.quote th.q-n{color:#fff}.quote .q-qty{text-align:center;font-variant-numeric:tabular-nums;width:70px}.quote .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;width:104px}.quote td.num:last-child{font-weight:700}.quote .q-photo-col{text-align:center;width:124px}.quote .q-photo-col img{object-fit:contain;width:104px;max-height:120px;display:inline-block}.quote .q-desc strong{margin-bottom:4px;font-weight:600;display:block}.quote .q-body{color:#444;margin-bottom:4px;font-size:.86em;line-height:1.5}.quote .q-body ul{margin:4px 0 0}.quote .q-desc ul{color:#444;margin:0 0 8px;padding-left:18px}.quote .q-desc li{margin:2px 0}.quote .q-size{color:#666;font-size:.92em}.quote table.q-specs{border-collapse:collapse;width:auto;min-width:70%;margin:10px 0 4px;font-size:.85em}.quote .q-specs td{text-align:center;vertical-align:middle;border:1px solid #222;padding:3px 12px;background:#fff!important}.quote .q-spec-add{font:inherit;color:#888;cursor:pointer;opacity:.55;background:0 0;border:1px dashed #ccc;border-radius:4px;margin-top:6px;padding:2px 8px;font-size:.8em}.quote .q-spec-tools{gap:8px;display:flex}.quote .q-spec-add:hover{opacity:1;color:#444}.quote td.q-spec-del{border:0;width:1%;padding:0 0 0 6px;background:0 0!important}.quote .q-spec-del button{font:inherit;color:#b33;cursor:pointer;opacity:.4;background:0 0;border:0}.quote tr:hover .q-spec-del button{opacity:1}.quote .q-totals{break-inside:avoid;width:300px;margin:24px 0 40px auto}.quote .q-totals div{font-variant-numeric:tabular-nums;justify-content:space-between;padding:8px 12px;display:flex}.quote .q-totals .total{border-top:2px solid var(--q-accent);color:var(--q-accent);margin-top:6px;padding:14px 12px;font-size:1.3em;font-weight:700}.quote .q-text{break-inside:avoid;margin:0 0 28px}.quote .q-text h3{font:inherit;color:var(--q-accent);text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;font-size:1.05em;font-weight:700}.quote .q-text p{white-space:pre-wrap;margin:0 0 8px}.quote .q-valid{color:#666;margin-top:32px;font-size:.9em}.quote .q-disc{color:#b3261e}.quote .q-cash{break-inside:avoid;border:1px dashed var(--q-accent);width:300px;margin:-16px 0 36px auto;padding:12px;font-size:.95em}.quote .q-cash div{font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;padding:3px 0;display:flex}.quote .q-cash .q-cash-total{color:var(--q-accent);font-size:1.1em;font-weight:700}.quote .q-bullet{margin:0 0 14px}.quote .q-bullet p{margin:0;font-size:.92em}.quote .q-pay{margin:0;padding:0;list-style:none}.quote .q-pay li{font-variant-numeric:tabular-nums;border-bottom:1px solid #eee;justify-content:space-between;gap:16px;padding:6px 0;display:flex}.quote .q-sign{break-inside:avoid;gap:48px;margin:56px 0 48px;display:flex}.quote .q-sign>div{color:#444;border-top:1px solid #999;flex:1;min-height:110px;padding-top:6px;font-size:.92em}.quote .q-legal{break-inside:avoid;color:#555;border-top:1px solid #ddd;margin-top:40px;padding-top:16px;font-size:.78em;line-height:1.45}.quote .q-legal p{margin:4px 0 0}.tranches{flex-direction:column;gap:8px;margin:12px 0;display:flex}.tranche{align-items:flex-end;gap:10px;display:flex}.tranche .field{flex:1}.tranche .field.pct{flex:0 0 80px}.print-only{display:none}@media print{body{background:#fff}#root>:not(.print-only){display:none!important}.print-only{display:block}@page{size:A4;margin:0}.print-frame{border-collapse:collapse;width:100%}.print-frame td{border:0;padding:0}.print-gap{height:16mm}.print-body{padding:0 16mm!important}.quote{box-shadow:none;min-width:0;padding:0}}.editable{cursor:text;border-radius:2px;outline:none}.editable:hover{background:#fff6c2}.editable:focus{background:#fff6c2;box-shadow:0 0 0 2px #e6c200}.editable:empty:before{content:attr(data-ph);color:#0000}.editable:empty{min-width:5em;min-height:1.2em;display:inline-block}.q-client:hover .editable:empty:before,.q-client .editable:empty:focus:before{color:#aaa}.editable-block{cursor:text}.editable-block:hover{background:#fff6c2}.quote .q-desc-edit{width:100%;font:inherit;color:#1b1b1b;resize:none;background:#fff;border:2px solid #e6c200;border-radius:4px;padding:8px;line-height:1.5;overflow:hidden}.edit-hint{margin:0 0 12px}.line-list{flex-direction:column;display:flex}.line{border-bottom:1px solid var(--line);grid-template-columns:30px 64px minmax(240px,1fr) 72px 104px 252px 112px 72px;align-items:start;gap:10px;padding:10px 4px;display:grid}.line-header{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:2px solid var(--line);padding-bottom:6px;font-size:.75rem}.line-header .r{text-align:right}.line textarea{resize:none;line-height:1.45;overflow:hidden}.line-n{background:var(--line);border-radius:50%;place-items:center;width:26px;height:26px;margin-top:6px;font-size:.8rem;font-weight:600;display:grid}.line .cell{min-width:0}.line .cell>input{text-align:right}.line .margins{white-space:nowrap;align-items:center;gap:4px;display:flex}.line .margins .chip{margin:0;padding:6px 8px}.line .margins input{text-align:right;width:62px}.line .price{text-align:right;padding-top:8px;font-size:1.05rem}@media (width<=1000px){.line-header{display:none}.line{grid-template-columns:30px 64px 1fr auto;row-gap:8px}.line .cell{grid-column:3/5;align-items:center;gap:10px;display:flex}.line .cell:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);flex:0 0 90px;font-size:.75rem}.line .cell>input{max-width:140px}.line .price{padding-top:0}.line .icon{grid-area:1/4}}.apply-custom{align-items:center;gap:6px;display:inline-flex}.apply-custom input{width:96px}.check{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.check input{width:auto;margin-top:4px}.check small{color:var(--muted);display:block}.icon.danger,.btn.danger{color:#fff;white-space:nowrap;cursor:pointer;background:#c62828;border:1px solid #c62828;border-radius:6px;padding:6px 10px;font-size:.85rem;font-weight:600}.icon.danger:hover,.btn.danger:hover{background:#a81f1f}.line .icon{border-radius:6px;justify-self:end;place-items:center;width:34px;height:34px;display:grid}.line .icon:hover{color:#e57373;background:#c628282e}.line .icon.danger{color:#fff;justify-self:end;width:auto}.line .icon.danger:hover{color:#fff;background:#a81f1f}.tabs{flex-wrap:wrap;gap:4px;display:flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:8px 14px;font-weight:500}.tabs button:hover{color:var(--ink)}.tabs .on{background:var(--accent-soft);color:var(--ink);font-weight:600}.count{background:var(--accent);color:var(--accent-ink);border-radius:999px;margin-left:6px;padding:1px 7px;font-size:.75rem}.page-title{font-size:1.6rem}.group-title{margin-top:12px;font-size:1.1rem}.empty{border:2px dashed var(--line);color:var(--muted);text-align:center;border-radius:12px;padding:28px}.flash{background:var(--accent-soft);border-radius:8px;margin:0;padding:10px 14px}.qlist{flex-direction:column;gap:12px;display:flex}.qcard{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:16px 18px;display:flex}.qcard.expired{opacity:.75;border-style:dashed}.qcard-main{flex-direction:column;flex:260px;gap:4px;min-width:0;display:flex}.qcard-total{text-align:right;font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}.qcard-total small{color:var(--muted);font-size:.75rem;font-weight:400;display:block}.qcard-actions{flex-wrap:wrap;gap:8px;display:flex}.badge{background:var(--accent-soft);border-radius:999px;align-self:flex-start;padding:2px 10px;font-size:.8rem}.badge.warn{color:#5a4300;background:#f5d98a}.badge.bad{color:#601410;background:#f2b8b5}.qcard.approved{flex-direction:column;align-items:stretch}.qcard-head{cursor:pointer;flex-wrap:wrap;align-items:center;gap:12px 24px;list-style:none;display:flex}.qcard-head::-webkit-details-marker{display:none}.qcard-head:before{content:"▸";color:var(--muted);transition:transform .15s}details[open]>.qcard-head:before{transform:rotate(90deg)}details.qcard>:not(summary){margin-top:12px}.si-custom{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.si-custom .field.pct{flex:0 200px}.steps-inv li.custom{display:block}.qcard-foot{justify-content:flex-end;display:flex}.steps-inv{border-top:1px solid var(--line);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.steps-inv li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;padding:12px 4px;display:flex}.steps-inv li.done .si-text{color:var(--muted)}.si-text{flex-direction:column;flex:280px;gap:2px;display:flex}.si-actions{align-items:center;gap:14px;display:flex}.paid{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.paid input{width:auto}.viewer-actions{gap:8px;display:flex}@media (width<=760px){.topbar{flex-wrap:wrap}.tabs{order:3;width:100%}}.quote .inv-lines th,.quote .inv-lines td{padding:12px}.quote .inv-lines{margin:8px 0 16px}.progress{gap:8px;width:min(420px,100%);display:grid}.progress-head{justify-content:space-between;align-items:baseline;font-size:.95rem;display:flex}.progress-head strong{font-variant-numeric:tabular-nums;color:var(--accent)}.progress-track{background:var(--accent-soft);border-radius:999px;height:10px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:999px;height:100%;position:relative;overflow:hidden}.progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff73,#0000);animation:1.2s linear infinite progress-shine;position:absolute;inset:0;transform:translate(-100%)}@keyframes progress-shine{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.progress-fill:after{animation:none}}.dropzone .progress{margin:4px auto}.line-thumb{width:64px;height:64px;position:relative}.line-thumb>img:not(.big){object-fit:contain;box-sizing:border-box;background:#fff;border-radius:6px;width:100%;height:100%;padding:3px;display:block}.line-thumb>img.big{z-index:5;object-fit:contain;background:#fff;border-radius:8px;width:auto;max-width:none;height:200px;padding:6px;display:none;position:absolute;top:0;left:72px;box-shadow:0 8px 24px #00000059}.line-thumb:hover>img.big{display:block}.item-texts{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.item-texts textarea{width:100%}.item-texts .item-title{font-weight:600}.item-texts .item-body{font-size:.9em}.translate-box{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.modal-backdrop{z-index:50;background:#00000080;place-items:center;display:grid;position:fixed;inset:0}.modal-box{background:var(--surface);border:1px solid var(--line);border-radius:14px;width:min(460px,100vw - 32px);padding:28px;box-shadow:0 16px 48px #00000080}.modal-box .progress{width:100%}.ai{text-align:left;width:100%;color:var(--ink);grid-template-columns:170px 1fr;align-items:center;gap:28px;display:grid}.ai-doc{height:210px;box-shadow:0 0 0 1px var(--line), 0 0 32px color-mix(in srgb, var(--accent) 35%, transparent);background:#f6f8f8;border-radius:10px;align-content:start;gap:9px;padding:16px 14px;display:grid;position:relative;overflow:hidden}.ai-grid{background-image:linear-gradient(color-mix(in srgb, var(--accent) 14%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--accent) 14%, transparent) 1px, transparent 1px);background-size:14px 14px;position:absolute;inset:0}.ai-line,.ai-block b,.ai-table b{background:#cfd8da;border-radius:3px;height:6px;position:relative}.ai-line.w40{width:40%}.ai-line.w50{width:50%}.ai-line.w60{width:60%}.ai-line.w70{width:70%}.ai-line.w80{width:80%}.ai-block{gap:8px;display:flex;position:relative}.ai-block i{background:#b9c5c8;border-radius:4px;flex:none;width:34px;height:34px}.ai-block span{flex:1;align-content:center;gap:6px;display:grid}.ai-block b.w90{width:90%}.ai-block b.w70{width:70%}.ai-block b.w80{width:80%}.ai-table{border:1px solid #b9c5c8;border-radius:3px;grid-template-columns:1fr 1fr;gap:4px 6px;padding:5px;display:grid;position:relative}.ai-pin{border:1.5px solid var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent);opacity:0;border-radius:4px;animation:3.6s ease-in-out infinite ai-pin;position:absolute}.ai-pin.p1{width:62%;height:22px;animation-delay:.2s;top:14px;left:10px}.ai-pin.p2{width:88%;height:40px;animation-delay:1.2s;top:58px;left:10px}.ai-pin.p3{width:70%;height:38px;animation-delay:2.2s;top:128px;left:10px}@keyframes ai-pin{0%,8%{opacity:0;transform:scale(.96)}18%,42%{opacity:1;transform:scale(1)}60%,to{opacity:0}}.ai-beam{background:linear-gradient(to bottom, transparent, color-mix(in srgb, var(--accent) 45%, transparent));border-bottom:2px solid var(--accent);height:46px;box-shadow:0 6px 18px var(--accent);animation:2.4s cubic-bezier(.5,0,.5,1) infinite ai-beam;position:absolute;top:-46px;left:-4px;right:-4px}@keyframes ai-beam{0%{top:-46px}to{top:100%}}.ai-side{gap:12px;display:grid}.ai-title{align-items:center;gap:10px;font-size:1.05rem;font-weight:600;display:flex}.ai-spark{background:var(--accent);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);width:16px;height:16px;animation:1.6s ease-in-out infinite ai-spark}@keyframes ai-spark{0%,to{opacity:.7;transform:scale(.7)rotate(0)}50%{opacity:1;transform:scale(1.15)rotate(90deg)}}.ai-steps{gap:8px;margin:0;padding:0;font-size:.93rem;list-style:none;display:grid}.ai-steps li{color:var(--muted);opacity:.55;align-items:center;gap:10px;transition:opacity .3s,color .3s;display:flex}.ai-steps li.done{opacity:1}.ai-steps li.now{opacity:1;color:var(--ink)}.ai-dot{border:2px solid var(--line);box-sizing:border-box;border-radius:50%;flex:none;width:16px;height:16px}.ai-steps .done .ai-dot{border-color:var(--accent);background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 8.5 2.8 2.8L12 5.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat}.ai-steps .now .ai-dot{border-color:var(--accent);border-top-color:#0000;animation:.8s linear infinite ai-spin}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-dots i{font-style:normal;animation:1.2s infinite ai-blink}.ai-dots i:nth-child(2){animation-delay:.2s}.ai-dots i:nth-child(3){animation-delay:.4s}@keyframes ai-blink{0%,60%,to{opacity:.2}30%{opacity:1}}.ai-bar{background:var(--accent-soft);border-radius:99px;height:6px;overflow:hidden}.ai-bar div{background:var(--accent);border-radius:99px;height:100%}.ai-pct{font-variant-numeric:tabular-nums;color:var(--accent);font-size:.9rem;font-weight:600}@media (width<=520px){.ai{grid-template-columns:1fr;justify-items:center}.ai-doc{width:170px}}@media (prefers-reduced-motion:reduce){.ai-beam,.ai-pin,.ai-spark,.ai-dot,.ai-dots i{animation:none}}
