@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(./IBMPlexSansArabic-Regular-B2a76lLF.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:600;font-display:swap;src:url(./IBMPlexSansArabic-SemiBold-FtXILkUg.woff2) format("woff2")}:root{color:#18211b;background:#f4f6f2;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #18211b;--muted: #6d766f;--line: #dfe4de;--paper: #fff;--green: #176b43;--green-soft: #e6f3eb;--red: #c63d3b;--red-soft: #fae9e7;--amber: #85611c;--amber-soft: #fff2cc}*{box-sizing:border-box}html{min-height:100%;background:#f4f6f2;overscroll-behavior-y:none;-webkit-text-size-adjust:100%}html[dir=rtl]{direction:rtl}html[lang=ar-TN] body,html[lang=ar-TN] button,html[lang=ar-TN] input,html[lang=ar-TN] select,html[lang=ar-TN] textarea{font-family:IBM Plex Sans Arabic,SF Arabic,Noto Sans Arabic,Geeza Pro,Tahoma,Arial,sans-serif}body{min-width:320px;min-height:100vh;margin:0;color:var(--ink);background:#f4f6f2;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button,select{cursor:pointer;touch-action:manipulation}button:disabled,select:disabled{opacity:.55}.app-icon{display:block;flex:0 0 auto}.boot-screen{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:1rem}.brand-mark{width:3.25rem;height:3.25rem;display:grid;place-items:center;border-radius:1rem;color:#fff;background:#124d32;font-size:1.65rem;font-weight:800}.brand-mark--small{width:2.4rem;height:2.4rem;border-radius:.72rem;font-size:1.1rem}.spinner{width:1rem;height:1rem;border:2px solid rgb(255 255 255 / 42%);border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite}.spinner--dark{border-color:#18211b2e;border-top-color:var(--ink)}@keyframes spin{to{transform:rotate(360deg)}}.login-layout{width:min(100%,28rem);min-height:100dvh;margin:0 auto;position:relative;padding:max(4.5rem,env(safe-area-inset-top)) 1.15rem max(1.5rem,env(safe-area-inset-bottom));display:grid;place-items:center}.language-button{min-width:3rem;height:2.75rem;padding:0 .7rem;border:1px solid #cfe0d5;border-radius:.75rem;color:var(--green);background:#f5faf7;font-size:.78rem;font-weight:850;white-space:nowrap}.language-button--auth{position:absolute;inset-block-start:max(1rem,env(safe-area-inset-top));inset-inline-end:1.2rem}.language-button--header{height:2.75rem}.login-card{width:100%;padding:1.35rem;border:1px solid var(--line);border-radius:1.25rem;background:var(--paper);box-shadow:0 14px 40px #18211b14}.login-brand{margin-bottom:1.35rem;display:grid;justify-items:center;text-align:center}.login-brand .brand-mark{margin-bottom:.75rem}.login-brand h1{margin:0;font-size:1.55rem;letter-spacing:-.025em;line-height:1.15}.login-brand p{margin:.25rem 0 0;color:var(--muted);font-size:.82rem;font-weight:600}.form-stack{margin-top:1rem;display:grid;gap:.85rem}.field{min-width:0;display:grid;gap:.32rem}.field>span,.field>label,.amount-field>span{color:#475149;font-size:.75rem;font-weight:750}.field input,.field select,.field textarea{width:100%;min-width:0;max-width:100%;min-height:3rem;padding:.72rem .8rem;border:1px solid var(--line);border-radius:.75rem;outline:none;color:var(--ink);background:#fff;font-size:1rem}.select-with-action{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 3rem;gap:.45rem}.select-with-action button{width:3rem;height:3rem;display:grid;place-items:center;border:1px solid #cfe0d5;border-radius:.75rem;color:var(--green);background:#f5faf7}.date-field{overflow:hidden}.date-control{width:100%;min-width:0;max-width:100%;min-height:3rem;position:relative;overflow:hidden;display:flex;align-items:center;padding:.72rem .8rem;border:1px solid var(--line);border-radius:.75rem;color:var(--ink);background:#fff}.date-control .localized-date{width:100%;overflow:hidden;font-size:.92rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap;unicode-bidi:isolate}.localized-date{min-width:0;display:inline-flex;align-items:baseline;gap:.25rem;white-space:nowrap;unicode-bidi:isolate}.localized-date__weekday{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.localized-date>i{flex:0 0 auto;color:var(--muted);font-style:normal}.localized-date>bdi{flex:0 0 auto}.localized-date--compact{gap:.18rem}.date-control input[type=date]{width:100%;min-width:0;max-width:100%;height:100%;position:absolute;inset:0;padding:0;border:0;opacity:0;cursor:pointer}.field textarea{min-height:4.5rem;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.date-control:focus-within,.amount-field:focus-within{border-color:#77a18a;box-shadow:0 0 0 3px #176b431a}.primary-button,.save-button{width:100%;min-height:3.25rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:.8rem;color:#fff;background:var(--green);font-weight:800}.notice{padding:.72rem .85rem;border-radius:.75rem;font-size:.8rem;font-weight:700}.notice--success{color:#0f5b36;background:var(--green-soft)}.notice--error{color:#962b2a;background:var(--red-soft)}.notice--warning{color:var(--amber);background:var(--amber-soft)}.offline-form-note{margin-top:.85rem;padding:.75rem;display:flex;gap:.55rem;border-radius:.75rem;color:var(--amber);background:var(--amber-soft);font-size:.75rem;line-height:1.4}.mobile-shell{width:min(100%,42rem);min-height:100vh;margin:0 auto;background:#f7f8f5}.app-shell{padding-bottom:calc(4.75rem + env(safe-area-inset-bottom))}.app-header{min-height:4.25rem;padding:max(.75rem,env(safe-area-inset-top)) 1rem .7rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:1px solid #e8ebe6;background:#ffffffeb}.app-header__brand,.app-header__actions{display:flex;align-items:center;gap:.55rem}.app-header__brand strong{font-size:1rem}.small-icon-button{width:2.75rem;height:2.75rem;display:grid;place-items:center;border:1px solid var(--line);border-radius:.75rem;color:var(--ink);background:#fff}.offline-pill{min-height:2.1rem;padding:0 .62rem;display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;color:var(--amber);background:var(--amber-soft);font-size:.7rem;font-weight:800}.app-notice{margin:.65rem 1rem 0}.app-content{padding:.8rem 1rem 1rem}.entry-view,.compact-form{display:grid;gap:.8rem}.type-switch{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.type-switch__button{min-height:3.25rem;display:flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid var(--line);border-radius:.8rem;color:var(--muted);background:#fff;font-weight:800}.type-switch__button--expense.is-active{border-color:var(--red);color:#fff;background:var(--red)}.type-switch__button--revenue.is-active{border-color:var(--green);color:#fff;background:var(--green)}.edit-strip{min-height:2.5rem;padding:0 .15rem;display:flex;align-items:center;justify-content:space-between;font-size:.82rem}.edit-strip button{min-height:2.5rem;padding:0 .7rem;border:0;color:var(--green);background:transparent;font-weight:800}.amount-field{padding:.85rem 1rem;display:grid;gap:.2rem;border:1px solid var(--line);border-radius:.9rem;background:#fff}.amount-field>div{display:flex;align-items:baseline;gap:.5rem;direction:ltr}.amount-field input{width:100%;min-width:0;padding:0;border:0;outline:0;color:var(--ink);background:transparent;font-size:clamp(2rem,11vw,3rem);font-weight:780;letter-spacing:-.04em;direction:ltr;text-align:start}html[dir=rtl] input[type=email],html[dir=rtl] input[type=number]{direction:ltr;text-align:start}html[dir=rtl] .date-control input[type=date]{direction:ltr}html[dir=rtl] .history-label{letter-spacing:0;text-transform:none}html[dir=rtl] .history-row__body{text-align:right}html[lang=ar-TN] .field>span,html[lang=ar-TN] .field>label,html[lang=ar-TN] .amount-field>span{font-size:.82rem;font-weight:600;line-height:1.45}html[lang=ar-TN] .tab-bar__item{font-size:.76rem;font-weight:600;line-height:1.3}html[lang=ar-TN] .history-row__body strong{font-size:.92rem;font-weight:600}html[lang=ar-TN] .history-row__body small,html[lang=ar-TN] .history-row__body em{font-size:.75rem;line-height:1.45}html[lang=ar-TN] .notice{font-size:.86rem;line-height:1.45}html[lang=ar-TN] .login-brand h1,html[lang=ar-TN] .history-heading h1,html[lang=ar-TN] .quick-create__header h2{letter-spacing:0;line-height:1.25}html[lang=ar-TN] .type-switch__button,html[lang=ar-TN] .save-button,html[lang=ar-TN] .primary-button,html[lang=ar-TN] .quick-create__submit{font-weight:600}.amount-field input::-webkit-inner-spin-button,.amount-field input::-webkit-outer-spin-button{appearance:none}.amount-field b{color:var(--muted);font-size:.82rem}.compact-grid{padding:.85rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem;border:1px solid var(--line);border-radius:.9rem;background:#fff}.compact-grid>*{min-width:0}.field--full{grid-column:1 / -1}.save-button{position:sticky;bottom:calc(4.75rem + env(safe-area-inset-bottom));z-index:3;box-shadow:0 8px 22px #1f2b2329}.save-button--expense{background:var(--red)}.save-button--revenue{background:var(--green)}.quick-create-backdrop{position:fixed;inset:0;z-index:50;padding:1rem;display:grid;align-items:end;background:#0f18126b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.quick-create{width:min(100%,40rem);max-height:calc(100dvh - 2rem - env(safe-area-inset-top));margin:0 auto max(.25rem,env(safe-area-inset-bottom));padding:1rem;overflow-y:auto;overscroll-behavior:contain;border-radius:1rem;background:#fff;box-shadow:0 18px 50px #00000038}.quick-create__header{margin-bottom:.8rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.quick-create__header h2{margin:0;font-size:1.05rem}.quick-create__header button{width:2.5rem;height:2.5rem;border:0;border-radius:.65rem;color:var(--muted);background:#f2f4f1;font-size:1.5rem}.quick-create form{display:grid;gap:.75rem}.quick-create__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.quick-create__grid>*{min-width:0}.quick-create__error{margin:0;color:var(--red);font-size:.75rem;font-weight:700}.quick-create__submit{min-height:3.1rem;display:flex;align-items:center;justify-content:center;gap:.45rem;border:0;border-radius:.75rem;color:#fff;background:var(--green);font-weight:800}.history-view{display:grid;gap:1.1rem}.history-heading{min-height:3rem;display:flex;align-items:center;justify-content:space-between}.history-heading h1{margin:0;font-size:1.4rem;letter-spacing:-.02em}.history-heading>div{display:flex;gap:.45rem}.history-label{margin:0 0 .45rem;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.history-group{overflow:hidden;border-radius:.9rem}.history-row{min-height:5.2rem;padding:.75rem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;border:1px solid var(--line);background:#fff}.history-row:first-of-type{border-radius:.9rem .9rem 0 0}.history-row:last-child{border-radius:0 0 .9rem .9rem}.history-row:only-of-type{border-radius:.9rem}.history-row+.history-row{border-top:0}.history-row--queued{border-color:#ead9a7;background:#fffdf7}.history-row__body{min-width:0}.history-row__body strong,.history-row__body small,.history-row__body em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-row__body .history-meta{min-width:0;display:flex;align-items:center;gap:.25rem}.history-meta>bdi:first-child{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.history-meta>i{flex:0 0 auto;font-style:normal}.history-meta>bdi,.history-meta>span{flex:0 0 auto;white-space:nowrap;unicode-bidi:isolate}.history-meta>.localized-date{flex:0 0 auto}.history-row__body strong{font-size:.84rem}.history-row__body small,.history-row__body em{margin-top:.18rem;color:var(--muted);font-size:.68rem;font-style:normal}.history-row--queued .history-row__body em{color:#a12f2d}.history-row__right{display:grid;justify-items:end;gap:.42rem}.history-row__right>b{direction:ltr;font-size:.78rem;unicode-bidi:isolate;white-space:nowrap}.amount--expense{color:var(--red)}.amount--revenue{color:var(--green)}.row-actions{display:flex;gap:.35rem}.row-actions button{width:2.5rem;height:2.5rem;display:grid;place-items:center;border:1px solid var(--line);border-radius:.65rem;color:#465149;background:#fff}.row-actions button.danger{border-color:#efd0cd;color:var(--red);background:snow}.history-empty{min-height:6rem;display:grid;place-items:center;border:1px dashed #cfd6cf;border-radius:.9rem;color:var(--muted);font-size:.8rem}.tab-bar{position:fixed;right:auto;bottom:0;left:50%;z-index:20;width:min(100%,42rem);min-height:calc(4.35rem + env(safe-area-inset-bottom));padding:.35rem 1rem max(.35rem,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);background:#fffffff0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translate(-50%)}.tab-bar__item{min-height:3.4rem;display:grid;place-content:center;justify-items:center;gap:.15rem;border:0;color:#7a837c;background:transparent;font-size:.64rem;font-weight:750}.tab-bar__item.is-active{color:var(--green)}.tab-icon{position:relative}.tab-icon em{min-width:1rem;height:1rem;padding:0 .22rem;position:absolute;top:-.4rem;inset-inline-end:-.7rem;display:grid;place-items:center;border:2px solid #fff;border-radius:999px;color:#fff;background:var(--red);font-size:.55rem;font-style:normal;font-weight:850}@media(max-width:380px){.app-header__brand strong{display:none}.offline-pill{width:2.1rem;padding:0;justify-content:center;gap:0;overflow:hidden;font-size:0}}@media(display-mode:standalone){.mobile-shell{box-shadow:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
