:root{--paper:oklch(99% .006 85);--ivory:oklch(97% .012 85);--ivory-deep:oklch(94% .018 85);--pine:oklch(34% .065 160);--pine-ink:oklch(25% .035 160);--pine-muted:oklch(45% .025 160);--pine-wash:oklch(94% .018 160);--brass:oklch(58% .08 75);--line:oklch(86% .018 85);--danger:oklch(45% .12 35);--warning:oklch(43% .07 70);--success:oklch(35% .07 160);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--s12:48px;--s16:64px;--s24:96px;--radius:10px;--paper-radius:18px;--font-ar:'Alexandria','Noto Sans Arabic',sans-serif;--font-latin:'Manrope',sans-serif;--shadow:0 18px 50px oklch(25% .035 160 / .08);--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:0;background:var(--ivory);color:var(--pine-ink);font-family:var(--font-ar);font-size:16px;line-height:1.8}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a{color:inherit;text-decoration:none}.is-hidden{display:none!important}.shell{width:min(1240px,calc(100% - 80px));margin-inline:auto}.skip-link{position:fixed;inset-block-start:-120px;inset-inline-start:20px;background:var(--pine);color:var(--paper);z-index:99;padding:8px 12px;border-radius:var(--radius)}.skip-link:focus{inset-block-start:20px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--brass);outline-offset:3px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--pine-ink);line-height:1}.brand span:last-child{display:grid;gap:4px}.brand b{font-family:var(--font-latin);font-size:23px;letter-spacing:-.06em}.brand small{font-family:var(--font-latin);font-size:8px;letter-spacing:.18em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid color-mix(in oklch,var(--pine) 30%,var(--line));border-radius:50%}.brand-mark svg{width:25px;fill:none;stroke:var(--pine);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.brand-light{color:var(--paper)}.brand-light .brand-mark{border-color:color-mix(in oklch,var(--paper) 32%,transparent)}.brand-light .brand-mark svg{stroke:var(--paper)}.site-header{min-height:88px;display:flex;align-items:center;justify-content:space-between;border-block-end:1px solid var(--line)}.site-header nav{display:flex;align-items:center;gap:20px;font-size:14px;font-weight:600}.site-header nav>a{color:var(--pine-muted)}.text-button,.link-button,.back-link{border:0;background:transparent;color:var(--pine);padding:0;font-weight:600}.button{border:1px solid transparent;border-radius:var(--radius);min-height:44px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:600;transition:background-color 180ms var(--ease),border-color 180ms var(--ease),transform 180ms var(--ease)}.button:not(:disabled):hover{transform:translateY(-1px)}.button-primary{background:var(--pine);color:var(--paper)}.button-primary:hover{background:oklch(29% .058 160)}.button-quiet{background:transparent;border-color:var(--line);color:var(--pine-ink)}.button-quiet:hover{background:var(--ivory-deep)}.button-large{min-height:50px;padding-inline:22px}.button-full{width:100%;margin-block-start:14px}.eyebrow{margin:0 0 var(--s3);color:var(--brass);font-size:12px;font-weight:700;letter-spacing:.04em}.hero{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:clamp(32px,7vw,96px);min-height:calc(100vh - 88px);padding-block:clamp(64px,10vw,128px)}.hero-copy{max-width:650px}.hero h1{font-size:clamp(2.25rem,4.5vw,4.75rem);line-height:1.35;letter-spacing:-.045em;margin:0 0 var(--s6);font-weight:700}.lead{max-width:54ch;color:var(--pine-muted);margin:0;font-size:18px;line-height:2}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-block-start:var(--s8)}.hero-stage{position:relative;min-height:490px;padding:64px 34px 34px;background:var(--pine);border-radius:24px;display:grid;align-items:center}.stage-label{position:absolute;inset-block-start:22px;inset-inline-start:22px;color:color-mix(in oklch,var(--paper) 75%,transparent);font-size:12px}.illustration-paper{background:var(--paper);border-radius:var(--paper-radius);padding:var(--s6);box-shadow:var(--shadow);display:grid;gap:var(--s6);transform:rotate(-2deg)}.paper-statement{font-size:20px;font-weight:600;border-block-end:1px solid var(--line);padding-block-end:var(--s4)}.paper-question{display:grid;gap:var(--s3);font-size:14px}.source-options{display:flex;gap:var(--s2)}.source-choice{border:1px solid var(--line);border-radius:999px;background:transparent;padding:7px 12px;font-size:13px;color:var(--pine-muted)}.source-choice.is-selected{background:var(--pine-wash);color:var(--pine-ink);border-color:color-mix(in oklch,var(--pine) 22%,var(--line))}.paper-receipt{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s3);border-block-start:1px solid var(--line);padding-block-start:var(--s4)}.receipt-check{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--pine);border-radius:50%;color:var(--pine);font-size:13px}.paper-receipt strong,.paper-receipt small{display:block}.paper-receipt small{color:var(--pine-muted);font-size:12px}.amount{font-family:var(--font-latin);font-size:14px;font-weight:700}.how-it-works{padding-block:var(--s24);border-block-start:1px solid var(--line)}.how-it-works ol{margin:var(--s8) 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s12)}.how-it-works li{position:relative}.how-it-works li:not(:last-child)::after{content:'';position:absolute;block-size:1px;background:var(--line);inset-inline-start:0;inset-inline-end:-38px;inset-block-start:17px;z-index:-1}.how-it-works li>span{font-family:var(--font-latin);color:var(--brass);font-size:13px}.how-it-works h2{font-size:20px;margin:12px 0 4px}.how-it-works p{margin:0;color:var(--pine-muted);font-size:14px}.closing{padding-block:var(--s16);border-block-start:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:var(--s8)}.closing h2{max-width:760px;font-size:clamp(25px,3vw,38px);line-height:1.55;margin:0}.site-footer{min-height:110px;border-block-start:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:var(--pine-muted);font-size:12px}.reveal{animation:reveal .24s var(--ease) both}@keyframes reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
/* Authentication */.auth-view{min-height:100vh;display:grid;grid-template-columns:45% 55%}.auth-aside{background:var(--pine);color:var(--paper);padding:40px clamp(32px,7vw,96px);display:flex;flex-direction:column}.auth-aside-copy{margin:auto 0;max-width:450px}.auth-aside-copy>p{font-size:clamp(2rem,4vw,4rem);font-weight:600;line-height:1.45;margin:0 0 var(--s12)}.mini-paper{background:var(--paper);color:var(--pine-ink);border-radius:var(--paper-radius);padding:20px;display:grid;gap:6px;max-width:350px;transform:rotate(2deg);box-shadow:var(--shadow)}.mini-paper bdi{font-family:var(--font-latin);font-size:24px;font-weight:700}.mini-paper small{color:var(--pine-muted);font-size:11px}.auth-main{padding:32px clamp(24px,8vw,128px);background:var(--paper)}.back-link{font-size:13px}.auth-form-wrap{max-width:430px;margin:clamp(52px,12vh,140px) auto 0}.auth-form-wrap h1{font-size:clamp(32px,4vw,46px);line-height:1.35;margin:0 0 var(--s2)}.auth-form-wrap form>p:not(.eyebrow):not(.field-error):not(.field-help){margin:0 0 var(--s8);color:var(--pine-muted)}label{display:block;font-size:13px;font-weight:600;margin-block:var(--s4) var(--s2)}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--pine-ink);min-height:48px;padding:10px 12px;transition:border-color 180ms var(--ease)}textarea{resize:vertical;line-height:1.8}input:focus,textarea:focus,select:focus{border-color:var(--pine)}.password-field{position:relative}.password-field input{padding-inline-end:60px}.password-toggle{position:absolute;inset-inline-end:10px;inset-block-start:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--pine);font-size:12px}.field-error{min-height:20px;color:var(--danger);font-size:12px;margin:3px 0 0}.field-help{color:var(--pine-muted);font-size:11px;margin:5px 0}.form-alert{background:color-mix(in oklch,var(--danger) 10%,var(--paper));border:1px solid color-mix(in oklch,var(--danger) 26%,var(--line));color:var(--danger);padding:10px 12px;border-radius:var(--radius);font-size:13px;margin-bottom:var(--s4)}.form-switch{text-align:center!important;margin-top:var(--s6)!important;font-size:13px}
/* App */.app-view{min-height:100vh;display:grid;grid-template-columns:232px 1fr;background:var(--ivory)}.sidebar{background:var(--ivory-deep);border-inline-end:1px solid var(--line);padding:28px 16px;display:flex;flex-direction:column;min-height:100vh}.company-name{margin:32px 8px 18px;font-size:13px;font-weight:600;color:var(--pine-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-nav{display:grid;gap:4px}.app-nav-item{border:0;background:transparent;color:var(--pine-muted);min-height:44px;border-radius:var(--radius);padding:10px 12px;text-align:right;font-size:13px;font-weight:600}.app-nav-item:hover{background:color-mix(in oklch,var(--pine) 5%,transparent)}.app-nav-item.is-active{background:var(--pine-wash);color:var(--pine-ink)}.sidebar-account{margin-top:auto;padding:18px 8px 0;border-block-start:1px solid var(--line);display:grid;gap:8px;font-family:var(--font-latin);font-size:11px;color:var(--pine-muted);overflow:hidden}.sidebar-account .link-button{text-align:right;font-family:var(--font-ar);font-size:13px}.workspace{min-width:0;padding:28px clamp(24px,4vw,64px) 64px}.workspace-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);padding-block-end:var(--s8);border-block-end:1px solid var(--line)}.workspace-header h1{font-size:25px;line-height:1.5;margin:3px 0 0}.breadcrumb{margin:0;color:var(--pine-muted);font-size:12px}.workspace-meta{display:flex;gap:var(--s4);align-items:center;color:var(--pine-muted);font-family:var(--font-latin);font-size:13px}.workspace-meta .link-button{display:none}.app-page{display:none;padding-block:var(--s8)}.app-page.is-active{display:block;animation:reveal .24s var(--ease) both}.page-intro{color:var(--pine-muted);margin-bottom:var(--s6)}.page-intro p{margin:0;max-width:70ch}.page-intro-split{display:flex;justify-content:space-between;gap:var(--s4);align-items:start}.chat-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);gap:var(--s6);align-items:start}.conversation{min-height:calc(100vh - 170px);display:flex;flex-direction:column}.chat-log{display:grid;gap:var(--s4);padding-block-end:var(--s6)}.chat-intro{padding-block:var(--s4) var(--s6)}.chat-intro h2{font-size:20px;margin:0 0 var(--s2)}.chat-intro p{margin:0;color:var(--pine-muted);font-size:14px}.suggestion-row{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s4)}.suggestion{border:1px solid var(--line);background:var(--paper);padding:7px 10px;border-radius:999px;color:var(--pine-muted);font-size:12px}.suggestion:hover{border-color:var(--pine);color:var(--pine-ink)}.composer{margin-top:auto;border:1px solid var(--line);border-radius:var(--paper-radius);padding:var(--s4);background:var(--paper)}.composer label{margin-top:0}.composer textarea{border:0;padding:0;min-height:58px}.composer textarea:focus{outline:none;border:0}.composer>div{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding-top:var(--s2);border-top:1px solid var(--line)}.muted-note{color:var(--pine-muted);font-size:12px}.review-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--paper-radius);padding:var(--s6);min-height:260px}.transaction-card{display:grid;gap:var(--s4)}.transaction-summary{font-size:14px;line-height:1.9;margin:0}.transaction-meta{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);border-block:1px solid var(--line);padding-block:var(--s3)}.transaction-meta span{display:grid;gap:2px;font-size:11px;color:var(--pine-muted)}.transaction-meta bdi,.transaction-meta strong{font-family:var(--font-latin);color:var(--pine-ink);font-size:13px}.ledger-details{font-size:12px}.ledger-details summary{color:var(--pine);font-weight:600;cursor:pointer}.ledger-line{display:flex;justify-content:space-between;gap:var(--s2);padding:8px 0;border-block-end:1px solid var(--line)}.review-actions{display:grid;gap:var(--s2)}.review-actions .button{width:100%}.chat-bubble{max-width:80%;padding:12px 14px;border-radius:var(--radius);font-size:14px}.chat-bubble.user{background:var(--pine);color:var(--paper);justify-self:start}.chat-bubble.system{background:var(--paper);border:1px solid var(--line);justify-self:end}.clarification{background:var(--paper);border:1px solid var(--line);border-radius:var(--paper-radius);padding:var(--s4);max-width:560px;justify-self:end}.clarification p{margin:0 0 var(--s3);font-weight:600}.clarification-options{display:flex;flex-wrap:wrap;gap:var(--s2)}.clarification-option{background:var(--ivory);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;color:var(--pine-ink);font-size:13px}.clarification-option:hover{border-color:var(--pine)}.clarification input{margin-top:8px}.status-pill{width:max-content;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.status-pill.confirmed{background:var(--pine-wash);color:var(--success)}.status-pill.draft{background:color-mix(in oklch,var(--brass) 12%,var(--paper));color:var(--warning)}.status-pill.cancelled{background:color-mix(in oklch,var(--danger) 10%,var(--paper));color:var(--danger)}
.filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:var(--s3);padding-block-end:var(--s6)}.filter-bar label{margin:0;min-width:140px;color:var(--pine-muted);font-size:11px}.filter-bar input,.filter-bar select{margin-top:4px;min-height:40px;font-size:13px}.table-scroll{overflow:auto;border-block:1px solid var(--line);background:var(--paper)}table{border-collapse:collapse;width:100%;min-width:690px;font-size:13px}th,td{text-align:right;padding:13px 14px;border-block-end:1px solid var(--line);vertical-align:top}th{color:var(--pine-muted);font-size:11px;font-weight:600;background:var(--ivory)}tbody tr:last-child td{border-bottom:0}tbody tr[data-entry-id]{cursor:pointer}tbody tr[data-entry-id]:hover{background:var(--pine-wash)}.empty-state{padding:48px 18px;text-align:center;color:var(--pine-muted)}.entry-detail td{background:var(--ivory);padding:0}.entry-detail-content{padding:16px 18px;display:grid;gap:8px}.entry-detail-content div{display:grid;grid-template-columns:1fr auto auto;gap:16px;font-size:12px}.inline-form{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:end;padding:var(--s4);border-block:1px solid var(--line);margin-bottom:var(--s6);background:var(--paper)}.inline-form label{margin:0;flex:1;min-width:160px}.inline-form input,.inline-form select{margin-top:4px;min-height:40px}.search-label{font-size:12px;color:var(--pine-muted);margin-bottom:var(--s2)}.account-tree{margin-top:var(--s4);border-block:1px solid var(--line);padding-block:var(--s2)}.account-node{display:grid;gap:4px}.account-row{display:flex;align-items:center;gap:var(--s2);padding:9px 8px;border-radius:var(--radius);font-size:13px}.account-row:hover{background:var(--paper)}.account-toggle{width:28px;height:28px;border:0;background:transparent;color:var(--pine-muted);font-size:15px}.account-spacer{display:block;width:28px}.account-code{font-family:var(--font-latin);color:var(--pine-muted);font-size:11px;min-width:44px}.account-type{margin-inline-start:auto;color:var(--pine-muted);font-size:11px}.account-children{padding-inline-start:20px}.report-tabs{display:flex;gap:var(--s2);border-block-end:1px solid var(--line);margin-bottom:var(--s6);overflow:auto}.report-tabs button{border:0;background:transparent;color:var(--pine-muted);padding:10px 12px;border-block-end:2px solid transparent;white-space:nowrap;text-align:right;font-weight:600;font-size:13px}.report-tabs button small{display:block;font-weight:400;font-size:10px;margin-top:2px}.report-tabs button.is-active{color:var(--pine);border-block-end-color:var(--brass)}.report-paper{background:var(--paper);border:1px solid var(--line);border-radius:var(--paper-radius);padding:clamp(20px,4vw,48px);max-width:940px}.report-paper header{padding-bottom:var(--s6);margin-bottom:var(--s4);border-block-end:1px solid var(--line)}.report-paper header p{margin:0}.report-paper h2{font-size:25px;margin:5px 0}.confirmed-note{font-size:11px;color:var(--success);margin-top:6px!important}.report-table{width:100%;min-width:0}.report-total{font-weight:700;background:var(--ivory)}.report-section{margin-top:var(--s6)}.report-section h3{font-size:15px;margin:0 0 var(--s2)}.toast-container{position:fixed;z-index:50;inset-inline-start:20px;inset-block-end:20px;display:grid;gap:8px}.toast{background:var(--pine);color:var(--paper);box-shadow:var(--shadow);border-radius:var(--radius);padding:11px 14px;font-size:13px;animation:reveal .18s var(--ease)}.toast.error{background:var(--danger)}.toast.warning{background:var(--warning)}
@media(max-width:960px){.shell{width:min(100% - 48px,1240px)}.hero{grid-template-columns:1fr;min-height:auto;padding-block:64px}.hero-stage{min-height:390px;max-width:650px}.auth-view{grid-template-columns:38% 62%}.chat-layout{grid-template-columns:1fr}.review-panel{min-height:0}.conversation{min-height:0}}
@media(max-width:760px){body{font-size:15px}.shell{width:calc(100% - 40px)}.site-header{min-height:72px}.site-header nav{gap:12px}.site-header nav>a{display:none}.site-header .button{padding-inline:11px}.hero{padding-block:48px;gap:32px}.hero h1{font-size:clamp(2.25rem,10vw,3.3rem)}.lead{font-size:16px}.hero-stage{padding:54px 18px 18px;min-height:330px}.illustration-paper{padding:18px;gap:18px}.how-it-works{padding-block:64px}.how-it-works ol{grid-template-columns:1fr;gap:28px}.how-it-works li:not(:last-child)::after{display:none}.closing{align-items:flex-start;flex-direction:column;padding-block:48px}.site-footer{min-height:90px}.auth-view{display:block}.auth-aside{min-height:145px;padding:24px 20px}.auth-aside-copy{display:none}.auth-main{padding:20px}.auth-form-wrap{margin:45px auto}.app-view{display:block}.sidebar{position:fixed;z-index:20;inset-inline:0;inset-block-end:0;min-height:auto;height:70px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-inline-end:0;border-block-start:1px solid var(--line);display:block}.sidebar>.brand,.company-name,.sidebar-account{display:none}.app-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;height:100%}.app-nav-item{min-height:42px;padding:6px 3px;text-align:center;font-size:10px}.workspace{padding:20px 20px calc(90px + env(safe-area-inset-bottom))}.workspace-header{padding-block-end:20px}.workspace-header h1{font-size:20px}.workspace-meta .link-button{display:block}.chat-layout{gap:16px}.review-panel{padding:18px}.chat-bubble{max-width:92%}.filter-bar{align-items:end}.filter-bar label{min-width:calc(50% - 8px)}.filter-bar .button{flex:1}.page-intro-split{align-items:flex-start}.inline-form{padding:12px}.report-paper{padding:20px}.report-tabs button{font-size:11px}.toast-container{inset-inline-start:12px;inset-inline-end:12px;inset-block-end:86px}.toast{width:100%}}
@media(max-width:390px){.site-header nav .text-button{display:inline-flex}.hero-actions .button{width:100%}.transaction-meta{grid-template-columns:1fr}.filter-bar label{min-width:100%}.filter-bar .button{width:100%}}
@media print{body{background:white}.sidebar,.workspace-header,.filter-bar,.report-tabs,.toast-container,.skip-link{display:none!important}.app-view,.workspace,.app-page{display:block!important}.workspace{padding:0}.app-page:not(#reports-page){display:none!important}.report-paper{border:0;border-radius:0;max-width:none;padding:0}.table-scroll{overflow:visible;border:0}table{min-width:0}.report-paper h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.app-page.is-active,.toast{animation:none}.button{transition:none}}

/* The auth root also carries a semantic site-view class. Keep its layout explicit. */
#auth-view{min-height:100vh;display:grid;grid-template-columns:45% 55%}
@media(max-width:960px){#auth-view{grid-template-columns:38% 62%}}
@media(max-width:760px){#auth-view{display:block}}
@media(max-width:390px){.site-header nav .text-button{display:inline-flex}}

/* Avoid an artificial horizontal overflow next to the mobile scrollbar. */
body{min-width:0}


