@charset "UTF-8";:root{--jg-charcoal: #171d2b;--jg-charcoal-2: #212a3c;--jg-accent: #f36f21;--jg-accent-dark: #dd5c12;--jg-accent-soft: #fdeee2;--jg-accent-rgb: 243, 111, 33;--jg-bg: #fbf6f1;--jg-surface: #ffffff;--jg-border: #efe4d8;--jg-text: #2b2b2b;--jg-muted: #8b8178;--jg-sidebar-text: #b9c2d6;--jg-success: #12a150;--jg-success-soft: #e6f7ec;--jg-danger: #e0405a;--jg-danger-soft: #fdeaed;--jg-info: #3b6fe0;--jg-radius: 16px;--jg-shadow: 0 1px 2px rgba(20, 27, 45, .04), 0 10px 30px rgba(20, 27, 45, .07);--jg-shadow-lg: 0 4px 12px rgba(20, 27, 45, .06), 0 24px 60px rgba(20, 27, 45, .1);--jg-canvas: radial-gradient(1200px 520px at 82% -10%, rgba(var(--jg-accent-rgb), .13), transparent 60%), radial-gradient(1000px 620px at -8% 110%, rgba(45, 212, 191, .09), transparent 62%), linear-gradient(180deg, #ffffff 0%, var(--jg-accent-soft) 100%)}*{box-sizing:border-box}.cred-backdrop{position:fixed;inset:0;z-index:60;background:#0f141e80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cred-card{position:fixed;z-index:61;top:50%;left:50%;transform:translate(-50%,-50%);width:min(420px,100vw - 2rem);animation:jg-rise .18s ease both}.cred-card__title{font-weight:800;font-size:1.1rem;color:var(--jg-charcoal)}.cred-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .9rem;border:1px solid var(--jg-border);border-radius:10px;margin-bottom:.6rem;background:var(--jg-bg)}.cred-row span{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--jg-muted);font-weight:700}.cred-row code{font-family:Space Mono,ui-monospace,monospace;font-size:1rem;font-weight:700;color:var(--jg-charcoal)}.cred-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem}*{scrollbar-width:thin;scrollbar-color:rgba(20,27,45,.22) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#141b2d33;border-radius:999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#141b2d59;background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}html,body{margin:0;padding:0;height:100%}body{font-family:Segoe UI,Inter,Roboto,system-ui,-apple-system,sans-serif;background:var(--jg-canvas);background-attachment:fixed;color:var(--jg-text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;color:var(--jg-charcoal)}a{color:var(--jg-accent-dark)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.8rem;flex-wrap:wrap}.page-header__title{font-size:1.25rem;font-weight:800;letter-spacing:-.01em}.page-header__subtitle{color:var(--jg-muted);margin-top:.1rem;font-size:.82rem}.page-header__actions{display:flex;gap:.6rem}.card{background:var(--jg-surface);border:1px solid var(--jg-border);border-radius:var(--jg-radius);box-shadow:var(--jg-shadow)}.card__body{padding:1.15rem 1.25rem}.card__pad{padding:1.25rem}.btn{display:inline-flex;align-items:center;gap:.45rem;border:1px solid transparent;border-radius:9px;padding:.55rem .95rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .14s ease;text-decoration:none;white-space:nowrap;line-height:1.1}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:.38rem .6rem;font-size:.82rem}.btn-primary{background:var(--jg-accent-dark);color:#fff;border-color:var(--jg-accent-dark)}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-ghost{background:var(--jg-surface);color:var(--jg-text);border-color:var(--jg-border)}.btn-ghost:hover:not(:disabled){background:var(--jg-bg)}.btn-danger{background:var(--jg-danger);color:#fff;border-color:var(--jg-danger)}.btn-danger:hover:not(:disabled){filter:brightness(.94)}.btn-icon{padding:.4rem;border-radius:8px;background:transparent;border:1px solid transparent;color:var(--jg-muted);cursor:pointer;display:inline-grid;place-items:center}.btn-icon:hover{background:var(--jg-bg);color:var(--jg-charcoal)}.btn-icon.is-danger:hover{background:var(--jg-danger-soft);color:var(--jg-danger)}.toolbar{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;padding:.65rem 1rem;border-bottom:1px solid var(--jg-border)}.toolbar__search{position:relative;flex:1;min-width:220px}.toolbar__search input{width:100%;padding-left:2.2rem}.toolbar__search svg{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:var(--jg-muted)}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.field__label{font-weight:600;font-size:.85rem;color:var(--jg-charcoal)}.field__req{color:var(--jg-danger);margin-left:2px}.field__error{color:var(--jg-danger);font-size:.78rem}.field__hint{color:var(--jg-muted);font-size:.78rem}input,select,textarea{font:inherit;color:var(--jg-text);background:var(--jg-surface);border:1px solid var(--jg-border);border-radius:9px;padding:.55rem .7rem;width:100%;transition:border-color .14s ease,box-shadow .14s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--jg-accent);box-shadow:0 0 0 3px rgba(var(--jg-accent-rgb),.18)}input.is-invalid,select.is-invalid,textarea.is-invalid{border-color:var(--jg-danger)}input:disabled,select:disabled,textarea:disabled{background:var(--jg-bg);color:var(--jg-muted)}input[readonly],select[readonly],textarea[readonly]{background:var(--jg-bg);color:var(--jg-charcoal);cursor:default;border-style:dashed}textarea{resize:vertical;min-height:84px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 1.25rem}.form-grid .col-span-2{grid-column:1/-1}@media(max-width:1100px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.form-grid{grid-template-columns:1fr}}.radio-group{display:flex;gap:.6rem;flex-wrap:wrap}.radio-card{display:flex;align-items:center;gap:.5rem;border:1px solid var(--jg-border);border-radius:9px;padding:.55rem .9rem;cursor:pointer;font-weight:600}.radio-card input{width:auto}.radio-card.is-selected{border-color:var(--jg-accent);background:var(--jg-accent-soft)}.form-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--jg-border)}.trip-layout{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(300px,1fr);gap:1.25rem;align-items:start;margin-bottom:1rem}@media(max-width:1024px){.trip-layout{grid-template-columns:1fr}}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 1.5rem}.card-title{display:flex;align-items:center;gap:.55rem;font-weight:800;font-size:1.05rem;color:var(--jg-charcoal);margin-bottom:1.15rem;padding-bottom:.85rem;border-bottom:1px solid var(--jg-border)}.card-title svg{color:var(--jg-accent-dark)}.costing-card{position:sticky;top:80px;background:linear-gradient(180deg,#fffaf5 0%,var(--jg-surface) 60%)}.costing-card .card__pad{padding:1rem 1.1rem}.costing-card .card-title{margin-bottom:.7rem;padding-bottom:.6rem}.costing-card .field{margin-bottom:.55rem}.costing-card .form-grid{gap:0 .9rem}.cost-total{margin-top:.6rem;padding-top:.7rem;border-top:1px solid var(--jg-border)}.cost-total__label{color:var(--jg-muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.cost-total .freight{font-size:1.55rem}.freight--neg{color:var(--jg-danger)!important}.costing-card .bill-sec{margin-top:.55rem;padding:.55rem .7rem .5rem}.costing-card .bill-sec__title{margin-bottom:.4rem}.costing-card .bill-sec__amt{margin-top:.25rem;font-size:.82rem}.trip-layout+.form-actions{position:sticky;bottom:0;background:var(--jg-surface);border:1px solid var(--jg-border);border-radius:12px;box-shadow:0 -6px 18px #141b2d14;padding:.7rem 1rem;margin-top:.4rem;z-index:6}.payslip{margin-bottom:.25rem}.payslip__row{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px dashed var(--jg-border);font-size:.9rem}.payslip__row span:last-child{font-weight:600;font-variant-numeric:tabular-nums}.payslip__row--minus span:last-child{color:var(--jg-danger)}.cost-hint{padding:1rem;border:1px dashed var(--jg-border);border-radius:10px;color:var(--jg-muted);text-align:center;margin-top:.25rem}.cost-box{border:1px solid var(--jg-border);border-radius:12px;padding:1rem 1.15rem;margin-top:.25rem;background:#fbfcfd;animation:jg-rise .2s ease both}.cost-box__title{margin-bottom:.85rem}.freight{font-size:1.5rem;font-weight:800;color:var(--jg-accent-dark);padding:.35rem 0;font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}table.jg-table{width:100%;border-collapse:collapse;font-size:.9rem}table.jg-table th,table.jg-table td{text-align:left;padding:.72rem 1rem;border-bottom:1px solid var(--jg-border);vertical-align:middle}table.jg-table th{background:#fafbfc;color:var(--jg-muted);font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}table.jg-table tbody tr:hover{background:#fbfcfd}table.jg-table td.actions{text-align:right;white-space:nowrap}table.jg-table td.num{text-align:right;font-variant-numeric:tabular-nums}table.jg-table .code{font-family:Cascadia Code,Consolas,monospace;font-weight:600;color:var(--jg-charcoal)}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:999px;font-size:.74rem;font-weight:700}.badge--active{background:var(--jg-success-soft);color:var(--jg-success)}.badge--inactive{background:var(--jg-danger-soft);color:var(--jg-danger)}.chip{display:inline-block;padding:.18rem .55rem;border-radius:6px;background:var(--jg-bg);border:1px solid var(--jg-border);font-size:.76rem;font-weight:600;color:var(--jg-charcoal)}.chip--submitted{background:#3b82f61f;border-color:#3b82f666;color:#1d4ed8}.chip--returned{background:var(--jg-danger-soft);border-color:var(--jg-danger);color:var(--jg-danger)}.chip--billed{background:var(--jg-success-soft);border-color:var(--jg-success);color:var(--jg-success)}.wf-banner{display:flex;flex-wrap:wrap;gap:.4rem;padding:.7rem 1rem;margin-bottom:1rem;border-radius:10px;background:var(--jg-bg);border:1px solid var(--jg-border);font-size:.9rem}.wf-banner--returned{background:var(--jg-danger-soft);border-color:var(--jg-danger);color:var(--jg-danger)}.hist-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border:1px solid var(--jg-border);border-radius:8px;background:var(--jg-surface);color:var(--jg-text);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.hist-btn:hover{border-color:var(--jg-accent);color:var(--jg-accent-dark)}.hist-count{font-size:.72rem;font-weight:700;min-width:1.15rem;height:1.15rem;padding:0 .3rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--jg-accent-soft);color:var(--jg-accent-dark)}.modal-backdrop{position:fixed;inset:0;z-index:60;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:jg-fade-in .15s ease}.modal{background:var(--jg-surface);border-radius:16px;box-shadow:0 24px 60px #0000004d;display:flex;flex-direction:column;max-height:84vh;animation:jg-modal-in .2s ease}.modal--history{width:min(540px,96vw)}@keyframes jg-modal-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.modal__head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--jg-border)}.modal__title{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.05rem;color:var(--jg-charcoal)}.modal__body{padding:1.25rem;overflow-y:auto}.tl{list-style:none;margin:0;padding:0}.tl__item{position:relative;padding:0 0 1.25rem 2.6rem}.tl__item:last-child{padding-bottom:0}.tl__item:before{content:"";position:absolute;left:12px;top:26px;bottom:-2px;width:2px;background:var(--jg-border)}.tl__item:last-child:before{display:none}.tl__node{position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:#64748b;box-shadow:0 0 0 3px var(--jg-surface)}.tl__node--created{background:#2563eb}.tl__node--returned{background:#e11d48}.tl__node--edited{background:#64748b}.tl__node--resubmitted{background:var(--jg-accent)}.tl__node--billed{background:#16a34a}.tl__card{border:1px solid var(--jg-border);border-radius:10px;padding:.6rem .8rem;background:var(--jg-bg)}.tl__top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.tl__action{font-weight:700;font-size:.8rem;padding:.1rem .5rem;border-radius:999px;background:var(--jg-bg);border:1px solid var(--jg-border)}.tl__action--created{background:#2563eb1f;border-color:#2563eb66;color:#1d4ed8}.tl__action--returned{background:var(--jg-danger-soft);border-color:var(--jg-danger);color:var(--jg-danger)}.tl__action--resubmitted{background:var(--jg-accent-soft);border-color:var(--jg-accent);color:var(--jg-accent-dark)}.tl__action--billed{background:var(--jg-success-soft);border-color:var(--jg-success);color:var(--jg-success)}.tl__action--edited{background:#eef2f6;border-color:#cbd5e1;color:#475569}.tl__time{color:var(--jg-muted);font-size:.78rem}.tl__who{color:var(--jg-muted);font-size:.8rem;margin-top:.2rem}.tl__note{margin-top:.4rem;font-size:.86rem;padding:.4rem .6rem;background:var(--jg-surface);border-left:3px solid var(--jg-border);border-radius:0 6px 6px 0}.audit{list-style:none;margin:0;padding:0}.audit__item{display:flex;gap:.6rem;padding:.5rem 0;border-bottom:1px dashed var(--jg-border)}.audit__item:last-child{border-bottom:0}.audit__dot{width:10px;height:10px;border-radius:50%;margin-top:.35rem;flex:0 0 auto;background:var(--jg-muted)}.audit__dot--created{background:#1d4ed8}.audit__dot--returned{background:var(--jg-danger)}.audit__dot--resubmitted{background:var(--jg-accent)}.audit__dot--billed{background:var(--jg-success)}.audit__dot--edited{background:#64748b}.audit__body{flex:1;min-width:0}.audit__head{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.audit__meta{color:var(--jg-muted);font-size:.78rem}.audit__note{font-size:.85rem;margin-top:.15rem}tr.row--on{background:var(--jg-accent-soft)}.inv-lines input{padding:.35rem .5rem}.inv-totals{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:1.5rem;padding:.9rem .2rem;margin-top:.5rem;border-top:1px solid var(--jg-border)}.inv-totals>div{display:flex;flex-direction:column;align-items:flex-end}.inv-totals span{font-size:.78rem;color:var(--jg-muted)}.inv-totals strong{font-size:1rem}.inv-totals__grand strong{font-size:1.3rem;color:var(--jg-accent-dark)}.kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem;margin:0}.kv>div{display:grid;grid-template-columns:130px 1fr;gap:.75rem;align-items:baseline;padding:.4rem 0;border-bottom:1px dashed var(--jg-border)}.kv dt{color:var(--jg-muted);font-size:.82rem;margin:0}.kv dd{margin:0;text-align:left;font-size:.9rem}@media(max-width:700px){.kv{grid-template-columns:1fr}}.ms{position:relative;display:inline-block}.ms__btn{display:inline-flex;align-items:center;gap:.5rem;min-width:150px;padding:.45rem .6rem;background:var(--jg-surface);border:1px solid var(--jg-border);border-radius:8px;color:var(--jg-text);cursor:pointer;font:inherit}.ms__btn:hover{border-color:var(--jg-accent)}.ms__btn svg{margin-left:auto;color:var(--jg-muted)}.ms__btn--active{border-color:var(--jg-accent);background:var(--jg-accent-soft);color:var(--jg-accent-dark);font-weight:600}.ms__summary{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.ms__panel{position:absolute;z-index:50;top:calc(100% + 4px);left:0;width:max(220px,100%);background:var(--jg-surface);border:1px solid var(--jg-border);border-radius:10px;box-shadow:var(--jg-shadow);padding:.5rem}.ms__search input{width:100%}.ms__tools{display:flex;gap:.75rem;padding:.4rem .2rem}.ms__list{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.ms__row{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:7px;cursor:pointer}.ms__row:hover{background:var(--jg-bg)}.ms__row input{width:15px;height:15px;accent-color:var(--jg-accent)}.ms__row--on{background:var(--jg-accent-soft)}.ms__row-label{font-size:.86rem}.ms__empty{padding:.6rem .5rem;font-size:.85rem}.ac{position:relative}.ac__menu{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;margin:0;padding:.3rem;list-style:none;background:var(--jg-surface);border:1px solid var(--jg-border);border-radius:10px;box-shadow:var(--jg-shadow);max-height:260px;overflow-y:auto}.ac__item{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;border-radius:8px;cursor:pointer;color:var(--jg-text)}.ac__item:hover{background:var(--jg-bg)}.ac__item--active{background:var(--jg-accent-soft);box-shadow:inset 0 0 0 1px var(--jg-accent)}.ac__main{font-weight:600}.ac__sub{color:var(--jg-muted);font-size:.8rem;margin-left:auto}.chip--own{background:var(--jg-accent-soft);border-color:var(--jg-accent);color:var(--jg-accent-dark)}.chip--rented{background:#3b82f61f;border-color:#3b82f666;color:#1d4ed8}.veh-meta{display:flex;align-items:center;gap:.6rem;margin-top:.4rem}.veh-meta__owner{font-size:.82rem;color:var(--jg-muted)}.chip--diesel{background:var(--jg-accent-soft);border-color:var(--jg-accent);color:var(--jg-accent-dark)}.chip--maintenance{background:#3b82f61f;border-color:#3b82f666;color:#1d4ed8}.chip--toll{background:#8b5cf61f;border-color:#8b5cf666;color:#6d28d9}.chip--other{background:var(--jg-bg);border-color:var(--jg-border);color:var(--jg-muted)}th.num{text-align:right}.state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1rem;color:var(--jg-muted);gap:.5rem}.state__title{font-weight:700;color:var(--jg-charcoal)}.spinner{width:34px;height:34px;border:3px solid var(--jg-border);border-top-color:var(--jg-accent);border-radius:50%;animation:jg-spin .8s linear infinite}@keyframes jg-spin{to{transform:rotate(360deg)}}.jg-loader{display:inline-grid;place-items:center;width:90px;height:58px}.jg-loader--lg{width:132px;height:84px}.jg-loader svg{width:100%;height:100%;overflow:visible}.jgl-road{stroke:var(--jg-accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:10 8;animation:jgl-road .5s linear infinite}.jgl-truck{transform-box:fill-box;transform-origin:center bottom;animation:jgl-bob .7s ease-in-out infinite}.jgl-wheel{transform-box:fill-box;transform-origin:center;animation:jgl-spin .55s linear infinite}@keyframes jgl-spin{to{transform:rotate(360deg)}}@keyframes jgl-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}@keyframes jgl-road{to{stroke-dashoffset:-18}}@media(prefers-reduced-motion:reduce){.jgl-road,.jgl-truck,.jgl-wheel{animation:none!important}}.jg-loader-overlay{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:#f4f6f89e;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:jg-fade-in .18s ease both}.jg-loader-overlay .jg-loader--lg{padding:.75rem;background:var(--jg-surface);border-radius:18px;box-shadow:var(--jg-shadow)}.pager{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.25rem;border-top:1px solid var(--jg-border);flex-wrap:wrap}.pager__info{color:var(--jg-muted);font-size:.85rem}.pager__controls{display:flex;align-items:center;gap:.6rem}.pager__size select{width:auto;padding:.35rem .5rem}.pager__page{font-size:.85rem;color:var(--jg-muted)}.jg-modal-backdrop{position:fixed;inset:0;background:#1018208c;display:grid;place-items:center;z-index:100;padding:1rem}.jg-modal{background:var(--jg-surface);border-radius:var(--jg-radius);padding:1.4rem;width:100%;max-width:420px;box-shadow:var(--jg-shadow)}.jg-modal__title{font-size:1.1rem;font-weight:800}.jg-modal__body{color:var(--jg-text);margin:.6rem 0 1.2rem}.jg-modal__actions{display:flex;justify-content:flex-end;gap:.6rem}.jg-toasts{position:fixed;right:1.1rem;bottom:1.1rem;display:flex;flex-direction:column;gap:.6rem;z-index:200}.jg-toast{display:flex;align-items:center;gap:.6rem;min-width:260px;max-width:380px;padding:.7rem .9rem;border-radius:10px;background:var(--jg-charcoal);color:#fff;box-shadow:var(--jg-shadow);cursor:pointer;font-size:.88rem;animation:jg-toast-in .18s ease}.jg-toast__icon{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:.8rem;font-weight:800;flex:none}.jg-toast--success{background:#1f8f50}.jg-toast--success .jg-toast__icon{background:#fff3}.jg-toast--error{background:#c93b3b}.jg-toast--error .jg-toast__icon,.jg-toast--info .jg-toast__icon{background:#fff3}@keyframes jg-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.text-muted{color:var(--jg-muted)}.mt-0{margin-top:0}.flex{display:flex}.gap-sm{gap:.5rem}.items-center{align-items:center}:root{--ease: cubic-bezier(.22, .61, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1)}html{scroll-behavior:smooth}@keyframes jg-fade-in{0%{opacity:0}to{opacity:1}}@keyframes jg-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes jg-enter{0%{opacity:0;transform:translateY(12px) scale(.995)}to{opacity:1;transform:none}}@keyframes jg-shimmer{to{transform:translate(100%)}}router-outlet+*{display:block;animation:jg-enter .32s var(--ease-out) backwards}.stat-grid .stat{animation:jg-rise .34s var(--ease-out) backwards}.stat-grid .stat:nth-child(1){animation-delay:45ms}.stat-grid .stat:nth-child(2){animation-delay:.09s}.stat-grid .stat:nth-child(3){animation-delay:.135s}.stat-grid .stat:nth-child(4){animation-delay:.18s}.stat-grid .stat:nth-child(5){animation-delay:.225s}.stat-grid .stat:nth-child(6){animation-delay:.27s}.stat-grid .stat:nth-child(7){animation-delay:.315s}.stat-grid .stat:nth-child(8){animation-delay:.36s}.stat-grid .stat:nth-child(9){animation-delay:.405s}.stat-grid .stat:nth-child(10){animation-delay:.45s}table.jg-table tbody tr{animation:jg-fade-in .25s ease backwards}a,button,.btn,.btn-icon,.chip,.badge,.nav__item,.stat,.card,input,select,textarea,.ac__item,.status-badge,.btn-icon svg{transition-property:background-color,border-color,color,box-shadow,transform,opacity;transition-duration:.18s;transition-timing-function:var(--ease)}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn-primary:hover:not(:disabled){box-shadow:0 6px 16px rgba(var(--jg-accent-rgb),.34)}.btn-icon:hover{transform:translateY(-1px) scale(1.06)}.btn-icon:active{transform:scale(.9)}a.card:hover,a.stat:hover,.stat:hover{transform:translateY(-3px);box-shadow:0 12px 28px #1018201f}.nav__item:hover{transform:translate(2px)}.shell--collapsed .nav__item:hover{transform:none}table.jg-table tbody tr:hover{box-shadow:inset 3px 0 0 var(--jg-accent)}.content,.table-wrap,.ledger-body,.ac__menu,.jg-modal{scroll-behavior:smooth}.skeleton{position:relative;overflow:hidden;background:#eef1f4;border-radius:8px;min-height:14px}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:jg-shimmer 1.3s infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.report-head{margin-bottom:1rem}.report-head__title{font-size:1.25rem;font-weight:800;color:var(--jg-charcoal)}.report-head__meta{color:var(--jg-muted);font-size:.85rem;margin-top:.2rem}.report-group{margin-bottom:1.25rem;overflow:hidden}.report-group__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--jg-border);background:#fafbfc;flex-wrap:wrap}.report-group__name{font-weight:800;font-size:1rem;margin-right:.5rem;color:var(--jg-charcoal)}.report-group__head .chip{margin-right:.5rem}table.jg-table tfoot .subtotal td{font-weight:700;background:#fff5f0;border-top:2px solid var(--jg-accent);color:var(--jg-charcoal)}.report-total{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.35rem;border-radius:12px;background:linear-gradient(135deg,var(--jg-accent-soft),#e6f2fb);color:var(--jg-charcoal);border:1px solid var(--jg-border);font-weight:700;box-shadow:var(--jg-shadow)}.report-total__value{font-size:1.4rem;font-weight:800;color:var(--jg-accent-dark);font-variant-numeric:tabular-nums}.cash-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.25rem}.cash-summary__box{background:var(--jg-surface);border:1px solid var(--jg-border);border-radius:var(--jg-radius);box-shadow:var(--jg-shadow);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.3rem}.cash-summary__box--accent{background:linear-gradient(135deg,var(--jg-accent-soft),#e6f2fb);border-color:#141b2d0f}.cash-summary__box--accent .cash-summary__label{color:var(--jg-muted)}.cash-summary__box--accent .cash-summary__value{color:var(--jg-accent-dark)}.cash-summary__box--btn{cursor:pointer;text-align:left;width:100%;font:inherit;align-items:stretch;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.cash-summary__box--btn:hover{transform:translateY(-2px);box-shadow:var(--jg-shadow-lg);border-color:color-mix(in srgb,var(--jg-accent) 40%,var(--jg-border))}.cash-summary__hint{font-size:.62rem;color:var(--jg-muted);font-weight:600;letter-spacing:.03em}.cash-summary__label{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--jg-muted)}.cash-summary__value{font-size:1.5rem;font-weight:800;color:var(--jg-charcoal);font-variant-numeric:tabular-nums}.cash-summary__value.pos{color:var(--jg-success)}.cash-summary__value.neg{color:var(--jg-danger)}@media(max-width:720px){.cash-summary{grid-template-columns:1fr}}.bd-backdrop{position:fixed;inset:0;z-index:60;background:#0f141e80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.bd-card{position:fixed;z-index:61;top:84px;left:50%;transform:translate(-50%);width:min(460px,100vw - 2rem);max-height:calc(100vh - 120px);overflow:auto;animation:jg-rise .18s ease both}.bd-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.8rem}.bd-title{font-weight:800;font-size:1.05rem;color:var(--jg-charcoal);display:block}.bd-date{font-size:.78rem;color:var(--jg-muted);font-weight:600}.bd-table tfoot td{font-weight:800;border-top:2px solid var(--jg-border);background:var(--jg-bg)}.cashbook-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}@media(max-width:900px){.cashbook-grid{grid-template-columns:1fr}}.ledger-head{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;font-weight:800;letter-spacing:.05em;color:var(--jg-charcoal);border-bottom:1px solid var(--jg-border);border-top-left-radius:var(--jg-radius);border-top-right-radius:var(--jg-radius);font-variant-numeric:tabular-nums}.ledger-head--received{background:var(--jg-success-soft)}.ledger-head--payment{background:var(--jg-danger-soft)}.ledger-count{display:inline-block;min-width:20px;padding:0 .35rem;margin-left:.35rem;border-radius:999px;background:#0000001f;font-size:.72rem;font-weight:700;text-align:center;vertical-align:middle}.ledger-carry{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1.25rem;background:#fffdf5;border-bottom:1px dashed var(--jg-border);font-size:.85rem;color:var(--jg-muted);flex-wrap:wrap}.ledger-add-bar{display:flex;gap:.5rem;padding:.75rem 1rem;background:#fafbfc;border-bottom:1px solid var(--jg-border)}.ledger-add-bar input{padding:.45rem .6rem}.ledger-add-bar__tag{max-width:74px}.ledger-add-bar__amt{max-width:130px;text-align:right}.ledger-body{max-height:56vh;overflow-y:auto}.ledger-body table.jg-table thead th{position:sticky;top:0;z-index:2}.ledger-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.25rem;border-top:2px solid var(--jg-border);background:#fff5f0;font-size:.9rem;color:var(--jg-charcoal);border-bottom-left-radius:var(--jg-radius);border-bottom-right-radius:var(--jg-radius);font-variant-numeric:tabular-nums}.report-filters select{width:auto;min-width:150px;max-width:230px}.report-filters label{white-space:nowrap}.bill-sec{margin-top:.9rem;padding:.85rem .9rem .7rem;border:1px solid var(--jg-border);border-radius:12px;background:var(--jg-bg)}.bill-sec__title{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.9rem;color:var(--jg-charcoal);margin-bottom:.6rem}.bill-sec__tag{font-size:.68rem;font-weight:700;letter-spacing:.03em;padding:.12rem .45rem;border-radius:999px;background:var(--jg-accent-soft);color:var(--jg-accent-dark)}.bill-sec__tag--t{background:#fff1e8;color:#c2560f}.bill-sec__amt{margin-top:.35rem;font-size:.86rem;color:var(--jg-charcoal)}.bill-sec__amt strong{color:var(--jg-accent-dark)}.access{margin-top:.6rem}.access__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.access__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem}.access__group{border:1px solid var(--jg-border);border-radius:12px;padding:.6rem .7rem;background:var(--jg-bg)}.access__grouphead{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.82rem;color:var(--jg-charcoal);text-transform:uppercase;letter-spacing:.04em;padding-bottom:.4rem;margin-bottom:.35rem;border-bottom:1px solid var(--jg-border);cursor:pointer}.access__item{display:flex;align-items:center;gap:.5rem;padding:.32rem .35rem;border-radius:8px;font-size:.88rem;color:var(--jg-text);cursor:pointer}.access__item:hover{background:var(--jg-accent-soft)}.access__item--on{color:var(--jg-accent-dark);font-weight:600}.access input[type=checkbox]{width:15px;height:15px;flex:none;margin:0;cursor:pointer;accent-color:var(--jg-accent-dark)}.access-note{margin-top:.6rem;padding:.7rem .9rem;border:1px solid var(--jg-border);border-radius:12px;background:var(--jg-accent-soft);color:var(--jg-charcoal);font-size:.9rem}.owner-ac{position:relative}.owner-ac__menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;background:var(--jg-surface);border:1px solid var(--jg-border);border-radius:10px;box-shadow:var(--jg-shadow-lg);overflow:hidden;max-height:240px;overflow-y:auto;animation:jg-rise .14s ease both}.owner-ac__hd{padding:.4rem .75rem;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--jg-muted);background:var(--jg-bg);border-bottom:1px solid var(--jg-border)}.owner-ac__item{display:flex;align-items:center;gap:.55rem;width:100%;padding:.55rem .75rem;background:transparent;border:none;text-align:left;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--jg-text)}.owner-ac__item svg{color:var(--jg-muted);flex:none}.owner-ac__item:hover{background:var(--jg-accent-soft);color:var(--jg-accent-dark)}.owner-ac__item:hover svg{color:var(--jg-accent-dark)}.link-btn{color:var(--jg-accent-dark);font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.link-btn:hover{filter:brightness(.92)}.skip-panel{margin-top:.6rem;padding:.8rem .9rem;border:1px solid var(--jg-danger-soft);background:var(--jg-danger-soft);border-radius:12px}.skip-panel__title{font-size:.85rem;color:var(--jg-charcoal);margin-bottom:.5rem}.skip-panel__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.55rem}.skip-panel textarea{background:#fff}.chip--done{background:var(--jg-success-soft);color:var(--jg-success)}@media print{.sidebar,.topbar,.no-print{display:none!important}.shell,.shell--collapsed{display:block!important}.content{padding:0!important}body,.main,.content{background:#fff!important}.card{box-shadow:none!important;border:1px solid #ddd!important}.report-group,table.jg-table tr{break-inside:avoid}.report-total{background:#222!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.jg-loader-overlay,.jg-toasts{display:none!important}}@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--color-amber-500: oklch(76.9% .188 70.08);--color-slate-900: oklch(20.8% .042 265.755);--spacing: .25rem;--font-weight-semibold: 600;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1)}}@layer utilities{.visible{visibility:visible}.static{position:static}.col-span-2{grid-column:span 2 / span 2}.flex{display:flex}.grid{display:grid}.inline{display:inline}.h-16{height:calc(var(--spacing) * 16)}.h-25{height:calc(var(--spacing) * 25)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}}.card{border-radius:var(--radius-2xl);border-color:transparent;--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-shadow-color: color-mix(in srgb, oklch(20.8% .042 265.755) 5%, transparent);--tw-ring-color: color-mix(in srgb, oklch(20.8% .042 265.755) 5%, transparent)}@supports (color: color-mix(in lab,red,red)){.card{--tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-slate-900) 5%, transparent) var(--tw-shadow-alpha), transparent)}}@supports (color: color-mix(in lab,red,red)){.card{--tw-ring-color: color-mix(in oklab, var(--color-slate-900) 5%, transparent)}}.btn{border-radius:var(--radius-xl);--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.btn-primary{--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-shadow-color: color-mix(in srgb, oklch(76.9% .188 70.08) 25%, transparent)}@supports (color: color-mix(in lab,red,red)){.btn-primary{--tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-amber-500) 25%, transparent) var(--tw-shadow-alpha), transparent)}}input,select,textarea{border-radius:var(--radius-xl)}.chip,.badge{border-radius:var(--radius-lg)}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-font-weight{syntax: "*"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-font-weight: initial}}}
