:root{--bg: #fff8ec;--bg-card: #fffdf6;--text: #1a1a1a;--text-soft: #6b6358;--text-mute: #b1a18a;--accent: #d97706;--accent-soft: #fde9c8;--accent-warm: #fbbf24;--border: #ead9b8;--border-soft: #f1e3c4;--shadow: 0 1px 0 rgba(0, 0, 0, .02), 0 14px 32px -22px rgba(120, 80, 0, .18);--display: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "Cascadia Mono", "JetBrains Mono", "Fira Code", monospace}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--display);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.mono{font-family:var(--mono);font-size:.85em}.page{min-height:100%;max-width:720px;margin:0 auto;padding:18px 28px 32px;display:flex;flex-direction:column;gap:32px;position:relative}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 0 14px;border-bottom:1px solid var(--border-soft);margin-bottom:8px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}.brand__icon{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);width:30px;height:30px;border-radius:8px;background:var(--accent-soft);border:1px solid var(--border);flex:0 0 auto}.brand__text{display:flex;flex-direction:column;line-height:1.05}.brand__name{font-weight:700;font-size:16px;letter-spacing:-.01em}.brand__tagline{color:var(--text-soft);font-size:11px;margin-top:1px}.topnav{display:inline-flex;align-items:center;gap:8px}.topnav__link{color:var(--text-soft);text-decoration:none;padding:6px 10px;border-radius:6px;font-size:13px;cursor:default;opacity:.6}.topnav__lang{background:transparent;border:1px solid var(--border);color:var(--text-soft);padding:6px 12px;border-radius:999px;cursor:pointer;font-weight:600;letter-spacing:.04em}.topnav__lang:hover{border-color:var(--accent);color:var(--accent)}.topnav__login{background:var(--text);border:1px solid var(--text);color:var(--bg);padding:7px 14px;border-radius:999px;cursor:pointer;font-weight:600;font-size:13.5px;letter-spacing:.01em;font-family:var(--display);transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.topnav__login:hover{transform:translateY(-1px);box-shadow:0 8px 18px -10px #0000004d}.topnav__login:active{transform:none}@media(max-width:480px){.brand__tagline,.topnav__link{display:none}}.hero{margin-top:16px;display:flex;flex-direction:column;gap:14px}.hero__eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:0}.hero__name{margin:0;font-size:clamp(44px,9vw,84px);line-height:.95;font-weight:800;letter-spacing:-.035em;display:flex;flex-direction:column}.hero__name-line{display:block}.hero__name-line--accent{color:var(--accent)}.hero__tagline{font-size:clamp(18px,2.4vw,22px);font-weight:500;color:var(--text);margin:8px 0 0;max-width:36ch}.hero__description{color:var(--text-soft);font-size:15.5px;margin:0;max-width:56ch}.memo{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:22px 22px 24px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:18px;position:relative;overflow:hidden}.memo:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-warm) 60%,transparent 100%);opacity:.7}.memo__head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.memo__stamp{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.memo__loc{color:var(--text-soft);font-size:14px;font-style:italic}.memo__player{display:flex;align-items:center;gap:14px}.memo__play{flex:0 0 auto;width:46px;height:46px;border-radius:50%;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:16px;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.memo__play:hover{transform:translateY(-1px);box-shadow:0 6px 18px -10px #d9770699}.memo__play[aria-pressed=true]{background:#b35d04}.memo__play-icon{display:inline-block;line-height:1;transform:translate(1px)}.memo__play[aria-pressed=true] .memo__play-icon{transform:none;letter-spacing:-.18em;font-size:13px}.memo__bar{flex:1 1 auto;height:6px;background:var(--accent-soft);border-radius:999px;overflow:hidden;position:relative}.memo__bar-fill{height:100%;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-warm) 100%);border-radius:inherit;transition:width 80ms linear}.memo__clock{flex:0 0 auto;color:var(--text-soft);font-variant-numeric:tabular-nums;font-size:13px;min-width:84px;text-align:right}.memo__clock-sep{color:var(--text-mute);margin:0 2px}.memo__hint{margin:0;color:var(--text-soft);font-size:14px;font-style:italic}.memo__transcript{background:linear-gradient(180deg,transparent 0%,rgba(253,233,200,.25) 100%);border-top:1px dashed var(--border-soft);margin:4px -22px 0;padding:22px 24px 24px;font-size:18px;line-height:1.55;min-height:96px;color:var(--text);letter-spacing:-.005em}.memo__word{opacity:0;transform:translateY(2px);display:inline-block;transition:opacity .22s ease,transform .22s ease,color .22s ease;color:var(--text-soft)}.memo__word--visible{opacity:1;transform:none;color:var(--text)}.memo__word--latest{color:var(--accent)}.caught{background:linear-gradient(180deg,rgba(255,248,236,.9) 0%,var(--bg-card) 100%);border-top:1px solid var(--border-soft);margin:0 -22px -24px;padding:20px 24px 22px;display:flex;flex-direction:column;gap:14px}.caught__head{display:flex;align-items:center;gap:10px}.caught__head:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;flex:0 0 auto}.caught__eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:600;font-size:11.5px}.caught__list{margin:0;display:grid;grid-template-columns:1fr;gap:10px}.caught__row{display:grid;grid-template-columns:110px 1fr;align-items:baseline;gap:16px;padding:6px 0;border-bottom:1px dashed var(--border-soft);animation:caught-row-in .32s ease both}.caught__row:last-child{border-bottom:none}.caught__label{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:11.5px;color:var(--text-mute);font-weight:600}.caught__value{margin:0;font-family:var(--mono);font-size:16px;color:var(--text);letter-spacing:-.005em;animation:caught-value-in .28s ease both}.caught__pending{color:var(--text-mute);font-family:var(--mono);font-size:18px;letter-spacing:.1em}.caught__row--multi{align-items:start}.caught__materials{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.caught__material{position:relative;padding-left:16px;font-family:var(--mono);font-size:15.5px;color:var(--text);animation:caught-value-in .28s ease both}.caught__material:before{content:"";position:absolute;left:0;top:.55em;width:8px;height:2px;background:var(--accent)}@keyframes caught-row-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes caught-value-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.invoice{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:0 26px 24px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:22px;position:relative;overflow:hidden;animation:invoice-rise .46s cubic-bezier(.2,.8,.2,1) both}@keyframes invoice-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.invoice__perforation{display:flex;align-items:center;gap:12px;margin:0 -26px;padding:12px 22px 10px;color:var(--text-mute);font-size:12px}.invoice__perf-icon{display:inline-block;font-size:13px;transform:rotate(-12deg) translateY(-1px);color:var(--accent)}.invoice__perf-line{flex:1 1 auto;height:0;border-top:1.5px dashed var(--border)}.invoice__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.invoice__head-left{display:flex;flex-direction:column;gap:4px}.invoice__stamp{margin:0;text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:13px;color:var(--accent);display:inline-block;padding:4px 10px;border:1.5px solid var(--accent);border-radius:4px;transform:rotate(-1.5deg);align-self:flex-start;background:#fde9c866}.invoice__date{margin:0;font-size:12px;color:var(--text-soft);letter-spacing:.02em}.invoice__num{font-size:16px;font-weight:600;color:var(--text);letter-spacing:.04em;background:var(--bg);padding:6px 12px;border:1px solid var(--border);border-radius:6px}.invoice__parties{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:14px 0;border-top:1px dashed var(--border-soft);border-bottom:1px dashed var(--border-soft)}.invoice__party{display:flex;flex-direction:column;gap:2px}.invoice__party-label{text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:600;color:var(--text-mute);margin-bottom:4px}.invoice__party-name{margin:0;font-size:17px;font-weight:600;color:var(--text);animation:invoice-fade .28s ease both}.invoice__party-meta{margin:0;font-size:13.5px;color:var(--text-soft)}.invoice__pending{color:var(--text-mute);font-style:italic}@keyframes invoice-fade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.invoice__table{width:100%;border-collapse:collapse;font-size:14.5px}.invoice__col-desc{width:auto}.invoice__col-num{width:90px}.invoice__th{text-align:left;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600;color:var(--text-mute);padding:8px 6px;border-bottom:1px solid var(--border)}.invoice__th-num{text-align:right}.invoice__td{padding:8px 6px;border-bottom:1px dashed var(--border-soft);vertical-align:top}.invoice__td-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.invoice__td-desc{color:var(--text)}.invoice__line-total{font-weight:600;color:var(--text)}.invoice__line{animation:invoice-fade .32s ease both}.invoice__line--empty{font-style:italic}.invoice__empty-hint{text-align:left;padding:14px 6px;font-size:13.5px;font-style:italic}.invoice__sum-label{text-align:right;padding:6px;font-size:13px;color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em}.invoice__sum-label--total{font-weight:700;color:var(--text);font-size:14px}.invoice__total-row td{border-top:1.5px solid var(--text);padding-top:10px;background:linear-gradient(180deg,transparent,rgba(253,233,200,.4))}.invoice__total-amount{font-size:18px;font-weight:700;color:var(--accent)}.invoice__foot{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;border-top:1px dashed var(--border-soft);margin-top:-8px;padding-top:16px}.invoice__terms{margin:0;font-size:12.5px;color:var(--text-soft);font-style:italic;max-width:36ch}.invoice__send-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.invoice__btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:8px;font-weight:600;font-size:13.5px;cursor:not-allowed;font-family:var(--display);border:1px solid;transition:opacity .15s ease}.invoice__btn-icon{font-size:13px;line-height:1}.invoice__btn--primary{background:var(--accent);border-color:var(--accent);color:#fff;opacity:.55}.invoice__btn--ghost{background:transparent;border-color:var(--border);color:var(--text-soft);opacity:.7}.invoice__send-badge{font-size:11px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-left:4px}@media(max-width:520px){.invoice{padding:0 18px 18px}.invoice__perforation{margin:0 -18px;padding:12px 14px 10px}.invoice__parties{grid-template-columns:1fr;gap:14px}.invoice__col-num{width:70px}.invoice__table{font-size:13.5px}.invoice__total-amount{font-size:16px}.invoice__foot{flex-direction:column;align-items:flex-start}}.metric{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;font-size:13px;font-family:var(--mono);letter-spacing:.01em;margin-bottom:-8px;animation:metric-in .28s ease both}.metric--pending{background:#fde9c88c;color:var(--text-soft);border:1px solid var(--border-soft)}.metric--ready{background:var(--accent);color:#fff;border:1px solid var(--accent);box-shadow:0 8px 22px -14px #d97706b3}.metric__dot{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block;animation:metric-pulse 1.4s ease-in-out infinite}.metric__check{font-weight:800}@keyframes metric-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes metric-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px}.modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a1a1a73;border:0;cursor:pointer;padding:0;animation:modal-fade .18s ease both}.modal__panel{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;box-shadow:0 30px 60px -20px #00000059;width:min(420px,100%);padding:22px 24px 24px;display:flex;flex-direction:column;gap:14px;animation:modal-rise .28s cubic-bezier(.2,.8,.2,1) both}.modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal__title{margin:0;font-size:19px;font-weight:700;letter-spacing:-.01em}.modal__close{background:transparent;border:0;color:var(--text-soft);width:32px;height:32px;font-size:22px;line-height:1;cursor:pointer;border-radius:8px}.modal__close:hover{background:var(--accent-soft);color:var(--accent)}.modal__intro{margin:0;color:var(--text-soft);font-size:14.5px;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:14px;margin-top:4px}.login-form__field{display:flex;flex-direction:column;gap:6px}.login-form__label{text-transform:uppercase;letter-spacing:.08em;font-size:11.5px;color:var(--text-mute);font-weight:600}.login-form__input{font-family:var(--display);font-size:15px;padding:11px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);width:100%}.login-form__input:focus{outline:2px solid var(--accent);outline-offset:1px}.login-form__input:disabled{opacity:.6;cursor:not-allowed}.login-form__actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}.login-form__cancel{background:transparent;border:1px solid transparent;color:var(--text-soft);padding:9px 14px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;font-family:var(--display)}.login-form__cancel:hover:not(:disabled){background:var(--accent-soft);color:var(--text)}.login-form__submit{background:var(--accent);border:1px solid var(--accent);color:#fff;padding:9px 18px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;font-family:var(--display)}.login-form__submit:disabled,.login-form__cancel:disabled{opacity:.55;cursor:not-allowed}.login-denied{display:flex;flex-direction:column;gap:10px;align-items:flex-start;margin-top:4px}.login-denied__icon{width:40px;height:40px;border-radius:50%;background:#d977061f;color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;border:1.5px solid var(--accent)}.login-denied__title{margin:0;font-size:17px;font-weight:700;color:var(--text)}.login-denied__body{margin:0;color:var(--text);font-size:14.5px}.login-denied__hint{margin:0;color:var(--text-soft);font-size:12px;font-style:italic;line-height:1.5;padding:10px 12px;background:var(--bg);border:1px dashed var(--border);border-radius:8px;align-self:stretch}.login-denied__close{align-self:flex-end;background:var(--text);color:var(--bg);border:0;padding:9px 18px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;font-family:var(--display);margin-top:4px}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.page-footer{margin-top:auto;padding-top:18px;border-top:1px dashed var(--border);display:flex;justify-content:space-between;color:var(--text-soft);font-size:12px;letter-spacing:.02em}@media print{body{background:#fff}.topbar,.hero,.memo,.metric,.page-footer,.modal{display:none!important}.page{padding:0;max-width:none}.invoice{box-shadow:none;border:1px solid #ccc;border-radius:0;animation:none}.invoice__btn,.invoice__send-badge{display:none!important}.invoice__perforation{display:none}}@media(prefers-reduced-motion:reduce){.memo__bar-fill,.memo__word,.caught__row,.caught__value,.caught__material,.invoice,.invoice__line,.invoice__party-name,.metric,.metric__dot,.modal__backdrop,.modal__panel{transition:none;animation:none}}
