:root{--green: #2f8f46;--green-deep: #246e36;--green-soft: #e8f3e8;--green-soft-2: #f1f7f1;--green-text: #2f5a3a;--gold: #d99822;--gold-deep: #a87716;--gold-soft: #fbf2dc;--gold-text: #6b5210;--rose: #a8413f;--rose-soft: #f7e1e1;--rose-text: #7a2929;--blue-soft: #e6f0f6;--blue: #3a6a8f;--ink: #17221c;--ink-soft: #2a362f;--muted: #6f7d73;--muted-2: #8b9890;--line: rgba(23, 34, 28, .08);--line-2: rgba(23, 34, 28, .16);--bg: #f8f8f4;--bg-2: #f1f1ec;--card: #ffffff;--danger: #b3151c;--neutral-soft: #ececec;--neutral-text: #555555;--font-ui: "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, monospace;--r-pill: 999px;--r-btn: 11px;--r-card: 13px;--r-input: 10px;--r-modal: 16px;--pad-card: 16px;--pad-card-sm: 14px;--row-gap: 10px;--section-gap: 20px}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh}body{font-family:var(--font-ui);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11"}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}a{color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#17221c2e;border-radius:999px}::-webkit-scrollbar-track{background:transparent}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.app-shell-body{flex:1;display:flex;min-height:0}.app-shell .sidebar{width:240px;flex-shrink:0;background:#fbfbf7;border-right:1px solid var(--line);padding:22px 14px 16px;display:flex;flex-direction:column}.app-shell .workspace{flex:1;overflow-y:auto;overflow-x:hidden}@media(max-width:880px){.app-shell .sidebar{display:none}}@media(min-width:881px){.app-shell .page{padding:4px 28px 36px}.app-shell .hero .greeting{font-size:24px}.app-shell .title-h{font-size:21px}.app-shell .kpi-grid{grid-template-columns:repeat(4,1fr);gap:12px}.app-shell .kpi .val{font-size:22px}.app-shell .btn{height:38px;font-size:13px}.app-shell .input,.app-shell .select,.app-shell .textarea{height:38px;font-size:13.5px}.app-shell .split{display:grid;grid-template-columns:360px 1fr;gap:16px;align-items:start}}@media(min-width:881px){.tabbar{display:none!important}}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 6px;position:sticky;top:0;z-index:20;background:linear-gradient(to bottom,var(--bg) 70%,rgba(248,248,244,0))}.topbar .label{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.topbar .crumbs{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;display:inline-flex;align-items:center;gap:6px}.topbar .crumbs .back{border:1px solid var(--line);background:var(--card);width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink)}.icon-btn{width:36px;height:36px;border-radius:999px;background:var(--card);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:var(--ink)}.icon-btn.sm{width:32px;height:32px}.icon-btn:hover{background:var(--green-soft-2)}.icon-btn.spin svg{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page{padding:4px 16px 96px;display:flex;flex-direction:column;gap:18px}.hero{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:16px 16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.hero .greeting{font-size:19px;font-weight:650;letter-spacing:-.012em;line-height:1.2;color:var(--ink)}.hero .sub{font-size:12px;color:var(--muted);margin-top:3px;letter-spacing:.01em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 16px;border-radius:var(--r-btn);font-size:13px;font-weight:700;letter-spacing:.01em;border:1px solid transparent;transition:transform 80ms ease,background .12s ease;white-space:nowrap}.btn-primary{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 1px #ffffff2e inset,0 1px 2px #17221c0f}.btn-primary:hover{background:var(--green-deep);border-color:var(--green-deep)}.btn-primary:active{box-shadow:inset 0 1px 2px #00000029}.btn-ghost{background:var(--card);color:var(--ink);border-color:var(--line-2)}.btn-ghost:hover{background:var(--green-soft-2);border-color:var(--green);color:var(--green-deep)}.btn-link{background:transparent;border:0;color:var(--green-deep);font-weight:600;font-size:13px;height:auto;padding:4px 0;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.btn-link:hover{text-decoration:underline}.btn-danger{color:var(--danger)}.btn[disabled]{opacity:.55;cursor:not-allowed}.btn.small{height:32px;padding:0 12px;font-size:12px}.btn.block{width:100%}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.01em}.field-help{font-size:11px;color:var(--muted-2)}.input,.select,.textarea{border:1px solid var(--line-2);background:var(--card);border-radius:var(--r-input);padding:0 12px;height:44px;font-size:15px;color:var(--ink);width:100%;outline:none;font-weight:500}.textarea{padding:10px 12px;height:auto;min-height:80px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #2f8f4626}.input.error{border-color:var(--danger)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--pad-card)}.card.tight{padding:var(--pad-card-sm)}.section-title{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;display:inline-flex;align-items:center;gap:6px}.title-h{font-size:19px;font-weight:700;letter-spacing:-.012em;color:var(--ink)}.kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:12px 13px 13px;display:flex;flex-direction:column;gap:6px;min-height:102px;transition:background .14s}.kpi:hover{background:var(--green-soft-2)}.kpi .ico{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.kpi .lbl{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.01em;margin-top:2px}.kpi .val{font-size:20px;font-weight:800;letter-spacing:-.018em;color:var(--ink);line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi .det{font-size:11.5px;color:var(--muted);font-weight:500;line-height:1.3}.tone-green .ico{background:var(--green-soft);color:var(--green)}.tone-gold .ico{background:var(--gold-soft);color:var(--gold-deep)}.tone-blue .ico{background:var(--blue-soft);color:var(--blue)}.tone-rose .ico{background:var(--rose-soft);color:var(--rose)}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.01em;text-transform:capitalize}.chip.paid{background:var(--green-soft);color:var(--green-text)}.chip.pending{background:var(--gold-soft);color:var(--gold-text)}.chip.overdue{background:var(--rose-soft);color:var(--rose-text)}.chip.cancelled{background:var(--neutral-soft);color:var(--neutral-text)}.chip.draft{background:var(--bg-2);color:var(--muted)}.chip.historic{background:var(--bg-2);color:var(--muted);border:1px dashed var(--line-2)}.tabbar{position:sticky;bottom:0;flex-shrink:0;display:grid;grid-template-columns:repeat(5,1fr);background:#fffffff5;border-top:1px solid var(--line);padding:8px 6px calc(14px + env(safe-area-inset-bottom,0px));box-shadow:0 -6px 20px #17221c0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:40}.tabbar button{border:0;background:transparent;display:inline-flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;font-size:10.5px;font-weight:600;color:var(--muted-2);border-radius:12px;letter-spacing:.01em}.tabbar button.active{color:var(--green-deep);background:#2f8f461a}.tabbar button .ico{display:inline-flex}.sidebar .brand-block{display:flex;align-items:center;gap:10px;padding:8px 8px 22px}.sidebar .brand-block img{width:34px;height:34px;border-radius:9px;object-fit:cover}.sidebar .brand-block .name{font-size:15px;font-weight:700;letter-spacing:-.012em}.sidebar .brand-block .sub{font-size:11px;color:var(--muted);margin-top:1px}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav .nav-item{display:flex;align-items:center;gap:11px;padding:9px 11px;font-size:13.5px;font-weight:600;border-radius:10px;color:var(--ink-soft);border:0;background:transparent;width:100%;text-align:left}.sidebar nav .nav-item:hover{background:var(--green-soft-2)}.sidebar nav .nav-item.active{background:var(--green-soft);color:var(--green-deep)}.sidebar nav .nav-item.active svg{color:var(--green)}.sidebar .foot{margin-top:auto;padding:12px 10px 6px;font-size:11px;color:var(--muted-2);display:flex;flex-direction:column;gap:3px}.nav-row{display:flex;align-items:center;gap:14px;padding:13px 14px;border:1px solid var(--line);border-radius:var(--r-input);background:var(--card);text-align:left;width:100%;min-height:64px;cursor:pointer}.nav-row:hover{background:var(--green-soft-2)}.nav-row.danger:hover{background:var(--rose-soft)}.nav-row .icon-wrap{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--green-soft);color:var(--green);flex-shrink:0}.nav-row.danger .icon-wrap{background:var(--rose-soft);color:var(--rose)}.nav-row .nr-body{flex:1;min-width:0}.nav-row .nr-title{font-size:14px;font-weight:700;color:var(--ink);letter-spacing:-.005em}.nav-row .nr-sub{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.35}.nav-row .nr-chev{color:var(--muted-2);display:inline-flex}.pill-toggle{display:inline-flex;background:var(--bg-2);border:1px solid var(--line);border-radius:999px;padding:3px}.pill-toggle button{border:0;background:transparent;border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:600;color:var(--muted)}.pill-toggle button.active{background:var(--card);color:var(--ink);box-shadow:0 1px 2px #17221c0f}.bar-chart{display:flex;align-items:flex-end;gap:8px;height:180px;padding:6px 2px 0}.bar-chart .col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.bar-chart .bar-wrap{width:100%;height:140px;display:flex;align-items:flex-end;position:relative}.bar-chart .bar{width:100%;background:linear-gradient(180deg,#47a55a,#2f8f46);border-radius:6px 6px 0 0;position:relative;transition:height .6s cubic-bezier(.4,0,.2,1)}.bar-chart .bar.muted{background:linear-gradient(180deg,#d6dfd6,#c4cfc4)}.bar-chart .bar-lbl{font-size:10.5px;color:var(--muted);font-weight:600}.bar-chart .bar-val{font-size:10.5px;color:var(--ink);font-weight:700;margin-bottom:2px}.list{display:flex;flex-direction:column;gap:8px}.list-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-input);align-items:center;transition:background .14s;cursor:pointer}.list-row:hover{background:#2f8f460a}.list-row .invno{font-size:13.5px;font-weight:700;letter-spacing:-.005em}.list-row .hotel{font-size:12px;color:var(--muted);margin-top:1px;line-height:1.3}.list-row .amt{font-size:14px;font-weight:700;text-align:right}.list-row .when{font-size:11.5px;color:var(--muted);text-align:right;margin-top:1px}.list-row .right-block{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.list-row .row-actions{display:inline-flex;gap:4px;align-items:center}.toast{border-radius:8px;padding:10px 12px;font-size:12.5px;font-weight:600;display:flex;align-items:center;gap:8px;border:1px solid}.toast.success{background:var(--green-soft);color:var(--green-text);border-color:#2f8f462e}.toast.error{background:var(--rose-soft);color:var(--rose-text);border-color:#a8413f38}.toast.info{background:var(--gold-soft);color:var(--gold-text);border-color:#a8771638}.lineitems{display:flex;flex-direction:column;gap:10px}.lineitem-card{border:1px solid var(--line);border-radius:var(--r-input);padding:12px;background:var(--card);display:grid;grid-template-columns:1fr 1fr;gap:10px;position:relative}.lineitem-card .product{grid-column:1 / -1}.lineitem-card .trash{position:absolute;top:8px;right:8px;border:0;background:transparent;color:var(--rose);width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.lineitem-card .trash:hover{background:var(--rose-soft)}.lineitem-card .computed{background:var(--bg-2);border-radius:8px;padding:8px 10px}.lineitem-card .computed .label{font-size:10.5px;color:var(--muted);font-weight:600}.lineitem-card .computed .value{font-size:14px;font-weight:700}.sticky-actions{position:sticky;bottom:0;background:linear-gradient(to top,var(--bg) 70%,rgba(248,248,244,0));padding:12px 0 4px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;z-index:12}.sticky-actions .btn{padding:0 8px}.grand-total{background:linear-gradient(120deg,#2f8f46,#246e36);color:#fff;border-radius:var(--r-card);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 2px #ffffff1a inset}.grand-total .lab{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.85}.grand-total .num{font-size:24px;font-weight:800;letter-spacing:-.018em}.compare-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px dashed var(--line)}.compare-row:last-child{border-bottom:0}.compare-row .month{font-size:12px;color:var(--muted);font-weight:600}.compare-row .val{font-size:18px;font-weight:800;letter-spacing:-.018em}.delta{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px}.delta.up{background:var(--green-soft);color:var(--green-text)}.delta.down{background:var(--rose-soft);color:var(--rose-text)}.login-shell{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:radial-gradient(400px 280px at 50% 14%,rgba(47,143,70,.1),transparent 60%),var(--bg);min-height:100vh}.login-card{width:100%;max-width:360px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-modal);padding:24px 22px}.login-card .logo{width:48px;height:48px;border-radius:12px;margin:0 auto 16px;display:block;object-fit:cover}.login-card .title{text-align:center;font-size:19px;font-weight:700;letter-spacing:-.014em;margin-bottom:18px;line-height:1.25}.login-card .foot{margin-top:14px;font-size:11.5px;color:var(--muted);text-align:center;line-height:1.4}.pdf-frame{background:#fff;border:1px solid var(--line);width:100%;max-width:720px;margin:0 auto;border-radius:8px;padding:30px 32px;font-size:11px;color:var(--ink);box-shadow:0 24px 60px -36px #17221c33}.pdf-frame .ribbon{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--green-deep);font-weight:700;border-top:2px solid var(--green);padding-top:8px;margin-bottom:18px}.pdf-frame .brand-head{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid var(--line)}.pdf-frame .brand-head img{width:56px;height:56px;border-radius:8px;object-fit:cover}.pdf-frame .brand-head h1{font-size:22px;margin:0;font-weight:700;letter-spacing:-.014em;color:var(--ink)}.pdf-frame .brand-head .tag{font-size:11px;color:var(--muted);font-style:italic;margin-top:2px}.pdf-frame .brand-head .meta{font-size:10.5px;color:var(--muted);line-height:1.55;text-align:right}.pdf-frame .brand-head .meta strong{color:var(--ink);font-weight:600}.pdf-meta-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.pdf-meta-cards .mc{background:var(--bg);border-radius:8px;padding:10px 12px}.pdf-meta-cards .mc .lab{font-size:9px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-weight:700}.pdf-meta-cards .mc .v{font-size:16px;font-weight:700;letter-spacing:-.012em;margin-top:2px}.pdf-meta-cards .mc .s{font-size:10.5px;color:var(--muted);margin-top:2px}.pdf-bill{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.pdf-bill .col h4{font-size:9.5px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin:0 0 6px}.pdf-bill .col .who{font-size:13px;font-weight:700;letter-spacing:-.005em}.pdf-bill .col .addr{font-size:11px;line-height:1.5;margin-top:4px;color:var(--ink-soft)}.pdf-bill .col .gst{font-size:10.5px;color:var(--muted);margin-top:4px}.pdf-table{margin-top:16px;width:100%;border-collapse:collapse}.pdf-table thead th{background:var(--green-soft);color:var(--green-text);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:left;padding:8px 9px;border-bottom:1px solid rgba(47,143,70,.18)}.pdf-table thead th.num{text-align:right}.pdf-table tbody td{padding:9px;font-size:11px;border-bottom:1px solid var(--line)}.pdf-table tbody td.num{text-align:right;font-variant-numeric:tabular-nums}.pdf-table tbody tr:nth-child(2n) td{background:#fafaf6}.pdf-table tbody td .desc-meta{font-size:10px;color:var(--muted);margin-top:2px}.pdf-table tbody td .pdf-line-desc{font-size:10px;color:var(--muted);margin-top:2px;white-space:pre-wrap;line-height:1.35}.pdf-totals{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;margin-top:16px}.pdf-totals .bank{background:var(--bg);border-radius:8px;padding:12px 14px;font-size:11px;line-height:1.6}.pdf-totals .bank h4{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-weight:700}.pdf-totals .stack{display:flex;flex-direction:column;gap:6px}.pdf-totals .stack .row{display:flex;justify-content:space-between;font-size:11.5px;padding:4px 0}.pdf-totals .stack .row.head{color:var(--muted)}.pdf-totals .stack .grand{margin-top:6px;padding:10px 12px;background:var(--green);color:#fff;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.pdf-totals .stack .grand .lab{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;opacity:.92}.pdf-totals .stack .grand .v{font-size:16px;font-weight:800}.pdf-words{font-size:11px;font-style:italic;color:var(--ink-soft);margin-top:12px;padding:9px 12px;border-left:2px solid var(--green);background:var(--green-soft-2);border-radius:0 6px 6px 0}.pdf-sign{margin-top:24px;display:grid;grid-template-columns:1fr 200px;gap:18px;align-items:end}.pdf-sign .note{font-size:10px;color:var(--muted);line-height:1.5}.pdf-sign .stamp{text-align:center;font-size:10.5px;color:var(--muted)}.pdf-sign .stamp .scribble{font-family:Brush Script MT,Lucida Handwriting,Segoe Script,cursive;font-style:italic;font-size:22px;color:var(--ink-soft);border-bottom:1px solid var(--line-2);padding-bottom:4px;margin-bottom:4px;font-weight:600;letter-spacing:-.01em}.pdf-sign .stamp img{max-width:140px;max-height:60px;object-fit:contain}.free-slots-banner{background:var(--gold-soft);border:1px solid rgba(168,119,22,.22);border-radius:var(--r-input);padding:11px 14px;font-size:12.5px;color:var(--gold-text);display:flex;align-items:center;gap:10px;font-weight:600}.free-slot-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;font-size:12.5px;border-bottom:1px dashed var(--line);gap:10px}.free-slot-row:last-child{border-bottom:0}.free-slot-row .num{font-weight:700;color:var(--gold-deep)}.spark{display:inline-flex;align-items:flex-end;gap:2px;height:22px}.spark .s{width:4px;background:var(--green);border-radius:2px;opacity:.7}.muted{color:var(--muted)}.tabular{font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.divider{border-top:1px solid var(--line);margin:4px 0}.search-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.search-input-wrap{position:relative}.search-input-wrap>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search-input-wrap .input{padding-left:36px}.checkbox{width:18px;height:18px;border:1.5px solid var(--line-2);border-radius:4px;background:var(--card);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;padding:0}.checkbox.checked{background:var(--green);border-color:var(--green);color:#fff}.bulk-bar{background:var(--ink);color:#fff;border-radius:var(--r-input);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.bulk-bar .count{font-size:13px;font-weight:600}.bulk-bar .btn-primary{background:var(--green);border-color:var(--green);color:#fff}.history-row{background:var(--card);border:1px solid var(--line);border-radius:var(--r-input);padding:12px 14px;display:flex;flex-direction:column;gap:9px}.history-row .top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.history-row .right{text-align:right}.history-row .actions{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:6px;border-top:1px dashed var(--line)}.history-row .actions .left{display:flex;gap:6px;align-items:center}.split{display:flex;flex-direction:column;gap:14px}.hotel-card,.product-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-input);padding:13px 14px;display:flex;flex-direction:column;gap:8px}.hotel-card .name-row,.product-card .name-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.hotel-card .name,.product-card .name{font-size:14px;font-weight:700;letter-spacing:-.005em}.hotel-card .legal,.product-card .meta{font-size:11.5px;color:var(--muted);margin-top:1px}.hotel-card .gstin{font-size:11.5px;color:var(--muted);font-family:var(--font-mono)}.hotel-card .stats{font-size:11.5px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.hotel-card .actions{display:flex;gap:6px;align-items:center;padding-top:4px;border-top:1px dashed var(--line)}.hotel-card .actions .btn{flex:1}.about-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:13px}.about-row:last-child{border-bottom:0}.about-row .icon-wrap{width:28px;height:28px;border-radius:8px;background:var(--green-soft);color:var(--green);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.about-row .ab-lbl{font-size:11.5px;color:var(--muted);font-weight:600}.about-row .ab-val{font-size:13px;font-weight:600;color:var(--ink)}.about-row .ab-body{flex:1;min-width:0}.about-row .ab-val.mono{font-family:var(--font-mono);font-size:12px}.sys-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--card);border:1px solid var(--line);border-radius:999px;font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:.01em;align-self:flex-start}.sys-pill .dot{width:6px;height:6px;background:var(--green);border-radius:50%}.fade-up{animation:fadeUp .38s cubic-bezier(.4,0,.2,1)}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stagger>*{opacity:0;animation:fadeUp .28s cubic-bezier(.4,0,.2,1) forwards}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:40ms}.stagger>*:nth-child(3){animation-delay:80ms}.stagger>*:nth-child(4){animation-delay:.12s}.stagger>*:nth-child(5){animation-delay:.16s}.stagger>*:nth-child(6){animation-delay:.2s}.stagger>*:nth-child(7){animation-delay:.24s}.stagger>*:nth-child(8){animation-delay:.28s}.stagger>*:nth-child(9){animation-delay:.32s}.integrity-banner{background:var(--rose-soft);border:1px solid rgba(168,65,63,.28);color:var(--rose-text);padding:12px 16px;font-size:12px}.integrity-banner ul{margin:6px 0 6px 18px;padding:0}.offline-banner{background:var(--gold-soft);border-bottom:1px solid rgba(168,119,22,.22);color:var(--gold-text);padding:8px 16px;font-size:12px;display:flex;align-items:center;gap:8px;font-weight:600}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;color:var(--muted);font-size:13px}.loading-orbit{width:38px;height:38px;border-radius:50%;border:3px solid var(--green-soft);border-top-color:var(--green);animation:spin .9s linear infinite}.pdf-capture-stage{position:fixed;left:-10000px;top:0;width:794px;z-index:-1;pointer-events:none}.form-message{font-size:12.5px;color:var(--muted);padding:8px 0}
