@-webkit-keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:#0003;--rc-drag-bar-size:6px;--rc-border-color:#ffffffb3;--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;display:inline-block;max-width:100%;position:relative}.ReactCrop *,.ReactCrop :after,.ReactCrop :before{-webkit-box-sizing:border-box;box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-height:inherit;max-width:100%}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{-ms-touch-action:none;touch-action:none}.ReactCrop__crop-mask{bottom:0;height:calc(100% + .5px);left:0;pointer-events:none;position:absolute;right:0;top:0;width:calc(100% + .5px)}.ReactCrop__crop-selection{cursor:move;left:0;position:absolute;top:0;-webkit-transform:translateZ(0);transform:translateZ(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{border:1px solid #ffffffb3;border:1px solid var(--rc-border-color);bottom:-1px;content:"";left:-1px;opacity:.3;pointer-events:none;position:absolute;right:-1px;top:-1px}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){-webkit-animation:marching-ants 1s;animation:marching-ants 1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-play-state:running;animation-play-state:running;-webkit-animation-timing-function:linear;animation-timing-function:linear;background-image:-webkit-gradient(linear,left top,right top,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,right top,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),color-stop(50%,#444));background-image:linear-gradient(90deg,#fff 50%,#444 0),linear-gradient(90deg,#fff 50%,#444 0),linear-gradient(180deg,#fff 50%,#444 0),linear-gradient(180deg,#fff 50%,#444 0);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;color:#fff}.ReactCrop__crop-selection:focus{outline:2px solid #08f;outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-hz:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-vt:before{background-color:#fff6;content:"";display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-vt:before{height:100%;width:1px}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:after,.ReactCrop__rule-of-thirds-hz:before{height:1px;width:100%}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{background-color:#0003;background-color:var(--rc-drag-handle-bg-colour);border:1px solid #ffffffb3;border:1px solid var(--rc-border-color);height:12px;height:var(--rc-drag-handle-size);position:absolute;width:12px;width:var(--rc-drag-handle-size)}.ReactCrop__drag-handle:focus{background:#08f;background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;left:0}.ReactCrop .ord-n,.ReactCrop .ord-nw{top:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;left:50%}.ReactCrop .ord-ne{cursor:ne-resize;top:0}.ReactCrop .ord-e,.ReactCrop .ord-ne{right:0;-webkit-transform:translate(50%,-50%);transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%}.ReactCrop .ord-se{bottom:0;cursor:se-resize;right:0;-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;left:50%}.ReactCrop .ord-s,.ReactCrop .ord-sw{bottom:0;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;left:0}.ReactCrop .ord-w{cursor:w-resize;left:0;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{height:6px;height:var(--rc-drag-bar-size);left:0;top:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:100%}.ReactCrop__drag-bar.ord-e{height:100%;right:0;top:0;-webkit-transform:translate(50%);transform:translate(50%);width:6px;width:var(--rc-drag-bar-size)}.ReactCrop__drag-bar.ord-s{bottom:0;height:6px;height:var(--rc-drag-bar-size);left:0;-webkit-transform:translateY(50%);transform:translateY(50%);width:100%}.ReactCrop__drag-bar.ord-w{height:100%;left:0;top:0;-webkit-transform:translate(-50%);transform:translate(-50%);width:6px;width:var(--rc-drag-bar-size)}.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w,.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle{display:none}@media (pointer:coarse){.ReactCrop .ord-e,.ReactCrop .ord-n,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{height:24px;height:var(--rc-drag-handle-mobile-size);width:24px;width:var(--rc-drag-handle-mobile-size)}}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:400;src:url(/static/media/dm-sans-400.ac0988d827a9e03454d0.woff2) format("woff2")}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:500;src:url(/static/media/dm-sans-500.09cead2724b8d8c7e453.woff2) format("woff2")}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:600;src:url(/static/media/dm-sans-600.ac0988d827a9e03454d0.woff2) format("woff2")}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:700;src:url(/static/media/dm-sans-700.09cead2724b8d8c7e453.woff2) format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(/static/media/jetbrains-mono-400.637f26e9c53403851a0e.woff2) format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(/static/media/jetbrains-mono-500.2ee3d016144ac45fc2f3.woff2) format("woff2")}:root,[data-theme=light]{--c-ink:255 255 255;--c-surface:255 255 255;--c-raised:247 249 252;--c-elevated:238 244 250;--c-line:222 230 240;--c-hover-line:200 212 226;--c-fg:20 30 60;--c-muted:91 105 135;--c-subtle:140 152 174;--c-accent:42 90 174;--c-accent-hover:30 72 158;--c-accent-deep:20 43 85;--c-accent-soft:42 90 174;--c-success:128 224 161;--c-warning:251 191 36;--c-danger:220 38 38;--c-info:93 202 197;--c-accent-gradient:linear-gradient(135deg,#142b55,#2a5aae 25%,#3d83db 50%,#5dcac5 75%,#80e0a1);--radius-sm:0.375rem;--radius:0.625rem;--radius-lg:0.875rem;--shadow-sm:0 1px 2px 0 #142b550d;--shadow:0 1px 3px 0 #142b5514,0 1px 2px -1px #142b550f;--shadow-md:0 4px 8px -2px #142b5514,0 2px 4px -2px #142b550f;--shadow-lg:0 12px 24px -6px #142b551a,0 4px 8px -4px #142b550f;--header-bg:#ffffffd9;--header-blur:12px;--header-border:1px solid #dee6f0;--t-theme:background-color 200ms ease,color 200ms ease,border-color 200ms ease}[data-theme=dark]{--c-ink:11 18 32;--c-surface:17 24 39;--c-raised:23 33 51;--c-elevated:30 42 62;--c-line:45 58 82;--c-hover-line:70 88 120;--c-fg:240 245 252;--c-muted:161 175 200;--c-subtle:120 138 165;--c-accent:93 173 226;--c-accent-hover:130 196 240;--c-accent-deep:61 131 219;--c-accent-soft:93 173 226;--c-success:128 224 161;--c-warning:251 191 36;--c-danger:248 113 113;--c-info:93 202 197;--c-accent-gradient:linear-gradient(135deg,#80e0a1,#5dcac5 25%,#4d9cd5 50%,#3d83db 75%,#2a5aae);--shadow-sm:0 1px 2px 0 #0000004d;--shadow:0 1px 3px 0 #0006,0 1px 2px -1px #0000004d;--shadow-md:0 4px 8px -2px #0006,0 2px 4px -2px #0000004d;--shadow-lg:0 12px 24px -6px #00000080,0 4px 8px -4px #0000004d;--header-bg:#0b1220d9;--header-blur:12px;--header-border:1px solid #2d3a52}:root{--primary:rgb(var(--c-accent));--primary-dark:rgb(var(--c-accent-deep));--primary-light:rgb(var(--c-accent-soft));--success:rgb(var(--c-success));--warning:rgb(var(--c-warning));--danger:rgb(var(--c-danger));--gray-50:rgb(var(--c-ink));--gray-100:rgb(var(--c-raised));--gray-200:rgb(var(--c-line));--gray-300:rgb(var(--c-hover-line));--gray-400:rgb(var(--c-subtle));--gray-500:rgb(var(--c-muted));--gray-600:rgb(var(--c-muted));--gray-700:rgb(var(--c-fg));--gray-800:rgb(var(--c-fg));--gray-900:rgb(var(--c-fg));--white:rgb(var(--c-surface));--shadow-sm:0 1px 2px 0 #142b550d;--shadow:0 1px 3px 0 #142b5514,0 1px 2px -1px #142b550f;--shadow-md:0 4px 8px -2px #142b5514,0 2px 4px -2px #142b550f;--shadow-lg:0 12px 24px -6px #142b551a,0 4px 8px -4px #142b550f;--radius:0.625rem}*{box-sizing:border-box;margin:0;padding:0}body,html{overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:rgb(var(--c-ink));background-color:var(--gray-50);color:rgb(var(--c-fg));color:var(--gray-900);font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;transition:var(--t-theme)}.hash,.mono,.receipt-hash,code,kbd{font-feature-settings:"tnum" 1;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace}::selection{background:rgb(var(--c-accent)/.22);color:rgb(var(--c-accent-deep))}.app{display:flex;flex-direction:column;min-height:100vh}.header{align-items:center;background:rgb(var(--c-surface));background:var(--white);border-bottom:1px solid var(--gray-200);display:flex;gap:.75rem;justify-content:space-between;padding:1rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header,.header-nav,.header-user{flex-wrap:wrap}.header-user{gap:.5rem;justify-content:flex-end}@media (max-width:900px){.header{gap:.5rem;padding:.75rem 1rem}.header-logo h1{font-size:1rem}.header-logo svg{height:24px;width:24px}.header-nav{gap:.5rem}.header-user{gap:.25rem}.header-user .btn{font-size:.75rem;padding:.375rem .5rem}.header-username{display:none}.header-project-selector{margin-top:.25rem;width:100%}.header-project-selector select{width:100%}}.header-logo{align-items:center;color:rgb(var(--c-fg));color:var(--gray-900);display:flex;gap:.75rem;text-decoration:none}.header-logo svg{color:rgb(var(--c-accent));color:var(--primary);height:32px;width:32px}.header-logo h1{font-size:1.25rem;font-weight:700}.header-nav{gap:1rem}.header-nav,.header-user{align-items:center;display:flex}.header-user{gap:.75rem}.header-username{color:rgb(var(--c-muted));color:var(--gray-600);font-size:.875rem}.main{flex:1 1;margin:0 auto;max-width:1200px;padding:2rem;width:100%}.auth-container{margin:4rem auto;max-width:400px}.auth-card{background:rgb(var(--c-surface));background:var(--white);border-radius:.625rem;border-radius:var(--radius)}.auth-header{margin-bottom:2rem;text-align:center}.auth-header h1{color:var(--gray-900);font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.auth-header p{color:var(--gray-500)}.auth-form{gap:1.25rem}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:rgb(var(--c-fg));color:var(--gray-700);font-size:.875rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--gray-300);border-radius:.625rem;border-radius:var(--radius);font-family:inherit;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a;outline:none}.form-group textarea{min-height:80px;resize:vertical}.select-with-add{display:flex;gap:.5rem}.select-with-add input,.select-with-add select{flex:1 1}.btn{align-items:center;border:none;border-radius:.625rem;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s}.btn-primary{background:rgb(var(--c-accent));background:var(--primary);color:rgb(var(--c-surface));color:var(--white)}.btn-primary:hover{background:rgb(var(--c-accent-deep));background:var(--primary-dark)}.btn-secondary{background:rgb(var(--c-raised));background:var(--gray-100);color:rgb(var(--c-fg));color:var(--gray-700)}.btn-secondary:hover{background:rgb(var(--c-line));background:var(--gray-200)}.btn-danger{background:rgb(var(--c-danger));background:var(--danger);color:rgb(var(--c-surface));color:var(--white)}.btn-danger:hover{background:#dc2626}.btn-outline{background:#0000;border:1px solid var(--gray-300);color:rgb(var(--c-fg));color:var(--gray-700)}.btn-outline:hover{background:rgb(var(--c-ink));background:var(--gray-50)}.btn-sm{font-size:.75rem;padding:.5rem 1rem}.btn-lg{font-size:1rem;padding:1rem 2rem}.btn-block{width:100%}.btn:disabled{cursor:not-allowed;opacity:.6}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.dashboard-header h1{font-size:1.75rem;font-weight:700}.dashboard-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{background:rgb(var(--c-surface));background:var(--white);border-radius:.625rem;border-radius:var(--radius);box-shadow:0 1px 3px 0 #142b5514,0 1px 2px -1px #142b550f;box-shadow:var(--shadow);padding:1.5rem}.stat-card h3{color:var(--gray-500);font-size:.875rem;font-weight:500}.stat-card .value{color:var(--gray-900);font-size:1.75rem;font-weight:700}.receipts-container{background:rgb(var(--c-surface));background:var(--white);border-radius:.625rem;border-radius:var(--radius);box-shadow:0 1px 3px 0 #142b5514,0 1px 2px -1px #142b550f;box-shadow:var(--shadow)}.receipts-header{border-bottom:1px solid var(--gray-200);padding:1.5rem}.receipts-header h2{font-size:1.25rem;font-weight:600}.receipts-table{border-collapse:collapse;width:100%}.receipts-table td,.receipts-table th{padding:1rem 1.5rem;text-align:left}.receipts-table th{background:rgb(var(--c-ink));background:var(--gray-50);color:rgb(var(--c-muted));color:var(--gray-500);font-size:.75rem;font-weight:600;text-transform:uppercase}.receipts-table tbody tr{border-bottom:1px solid var(--gray-100);transition:background .2s}.receipts-table tbody tr:hover{background:rgb(var(--c-ink));background:var(--gray-50)}.receipts-table .amount{color:rgb(var(--c-success));color:var(--success)}.receipts-table .amount.withdrawal{color:var(--danger)}@media (max-width:768px){.hide-on-mobile{display:none!important}.show-on-mobile{display:block!important}}@media (min-width:769px){.hide-on-mobile{display:table}.show-on-mobile{display:none!important}}.receipts-cards{display:none;flex-direction:column;gap:1rem}.receipt-card{background:rgb(var(--c-surface));background:var(--white);border-radius:.625rem;border-radius:var(--radius);box-shadow:0 1px 3px 0 #142b5514,0 1px 2px -1px #142b550f;box-shadow:var(--shadow)}.receipt-card-header{background:rgb(var(--c-ink));background:var(--gray-50);border-bottom:1px solid var(--gray-100);padding:1rem}.receipt-card-id{color:var(--gray-600);font-weight:600}.receipt-card-amount{font-size:1.25rem;font-weight:700}.receipt-card-amount.income{color:var(--success)}.receipt-card-amount.withdrawal{color:var(--danger)}.receipt-card-body{padding:1rem}.receipt-card-row{border-bottom:1px solid var(--gray-100);padding:.5rem 0}.receipt-card-row:last-child{border-bottom:none}.receipt-card-row .label{color:var(--gray-500);font-size:.875rem}.receipt-card-row .hash{color:rgb(var(--c-subtle));color:var(--gray-400);font-family:monospace;font-size:.75rem}.receipt-card-actions{border-top:1px solid var(--gray-100);padding:1rem}.quotes-cards{display:none;flex-direction:column;gap:1rem}.quote-card{background:rgb(var(--c-surface));background:var(--white);border-radius:.625rem;border-radius:var(--radius);box-shadow:0 1px 3px 0 #142b5514,0 1px 2px -1px #142b550f;box-shadow:var(--shadow)}.quote-card-header{background:rgb(var(--c-ink));background:var(--gray-50);border-bottom:1px solid var(--gray-100);padding:1rem}.quote-card-number{color:var(--gray-600);font-weight:600}.quote-card-amount{color:var(--primary);font-size:1.25rem;font-weight:700}.quote-card-body{padding:1rem}.quote-card-row{border-bottom:1px solid var(--gray-100);padding:.5rem 0}.quote-card-row:last-child{border-bottom:none}.quote-card-row .label{color:var(--gray-500)}.quote-card-actions{border-top:1px solid var(--gray-100);padding:1rem}.receipts-table .hash{color:rgb(var(--c-muted));color:var(--gray-500);font-family:monospace;font-size:.75rem;max-width:150px;overflow:hidden;text-overflow:ellipsis}.receipts-table .payment-method{border-radius:999px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.payment-method.cash{background:#dbeafe;color:#1d4ed8}.payment-method.electronic{background:#d1fae5;color:#059669}.receipts-actions{display:flex;gap:.5rem}.pagination{gap:.5rem;padding:1.5rem}.pagination button{background:var(--white);border:1px solid var(--gray-300);padding:.5rem 1rem;transition:all .2s}.pagination button:hover:not(:disabled){background:rgb(var(--c-ink));background:var(--gray-50)}.pagination button:disabled{opacity:.5}.pagination .page-info{color:var(--gray-500);font-size:.875rem;padding:0 1rem}.receipt-detail-header{background:linear-gradient(135deg,rgb(var(--c-accent)) 0,rgb(var(--c-accent-deep)) 100%);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:var(--white)}.receipt-detail-header h1{font-size:2rem;font-weight:700;margin-bottom:.5rem}.receipt-detail-header .receipt-id{font-size:.875rem;opacity:.8}.receipt-detail-body{padding:2rem}.receipt-detail-grid{grid-gap:1.5rem;gap:1.5rem;margin-bottom:2rem}.receipt-detail-item{display:flex;flex-direction:column;gap:.25rem}.receipt-detail-item label{color:var(--gray-500);font-size:.75rem;font-weight:500}.receipt-detail-item .value{color:var(--gray-900);font-size:1rem;font-weight:600}.receipt-detail-item.amount .value{color:var(--success)}.receipt-hash{background:rgb(var(--c-ink));background:var(--gray-50);border-radius:.625rem;border-radius:var(--radius);margin-bottom:2rem;padding:1.5rem}.receipt-hash h3{color:rgb(var(--c-fg));color:var(--gray-700);font-size:.875rem;font-weight:600;margin-bottom:.5rem}.receipt-hash code{color:rgb(var(--c-muted));color:var(--gray-600);font-family:monospace;font-size:.875rem;word-break:break-all}.receipt-photo{margin-top:1.5rem}.receipt-photo img{border-radius:.625rem;border-radius:var(--radius);box-shadow:0 1px 3px 0 #142b5514,0 1px 2px -1px #142b550f;box-shadow:var(--shadow);max-width:100%}.receipt-detail-actions{background:rgb(var(--c-ink));background:var(--gray-50);border-top:1px solid var(--gray-200);gap:1rem;padding:1.5rem 2rem}.public-profile{margin:0 auto;max-width:900px}.public-header{margin-bottom:2rem;text-align:center}.public-header h1{font-size:2rem;font-weight:700;margin-bottom:.5rem}.public-header p{color:var(--gray-500)}.modal-overlay{background:#00000080;bottom:0;left:0;right:0;top:0}.modal{background:var(--white);border-radius:.625rem;border-radius:var(--radius)}.modal-header{border-bottom:1px solid var(--gray-200);padding:1.5rem}.modal-header h2{font-size:1.25rem;font-weight:600}.modal-close{background:none;border:none;color:rgb(var(--c-subtle));color:var(--gray-400);padding:0;right:15px;top:15px}.modal-close:hover{color:rgb(var(--c-muted));color:var(--gray-600)}.modal-footer{border-top:1px solid var(--gray-200);gap:.75rem;padding:1.5rem}.alert{padding:1rem 1.5rem}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.loading{align-items:center;display:flex;justify-content:center;padding:3rem}.spinner{animation:spin 1s linear infinite;border:3px solid var(--gray-200);border-top-color:var(--primary);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.empty-state{color:var(--gray-500);padding:4rem 2rem}.empty-state svg{color:rgb(var(--c-hover-line));color:var(--gray-300);height:64px;width:64px}.empty-state h3{color:var(--gray-700);font-size:1.25rem;font-weight:600;margin-bottom:.5rem}@media (max-width:768px){.header{padding:1rem}.header-logo h1{font-size:1rem}.main{padding:1rem}.dashboard-header{align-items:flex-start;flex-direction:column;gap:1rem}.dashboard-stats{grid-template-columns:1fr}.receipts-table td,.receipts-table th{padding:.75rem}.receipts-header{flex-direction:column;gap:1rem}.receipt-detail-grid{grid-template-columns:1fr}.modal{margin:.5rem}}.admin-page{margin:0 auto;max-width:1200px;padding:2rem}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.page-header h1{font-size:1.5rem}.header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.tabs{border-bottom:1px solid var(--gray-200);display:flex;gap:0}.tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--gray-500);font-size:1rem;padding:.75rem 1.5rem;transition:all .2s}.tab:hover{color:var(--gray-700)}.tab.active{border-bottom-color:var(--primary);color:rgb(var(--c-accent));color:var(--primary)}.backup-info{background:rgb(var(--c-ink));background:var(--gray-50);border-radius:.625rem;border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:2rem;padding:1rem}.admin-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:2rem 0}.admin-section{background:var(--bg-card);border-radius:.625rem;border-radius:var(--radius);box-shadow:0 1px 3px 0 #142b5514,0 1px 2px -1px #142b550f;box-shadow:var(--shadow);margin-bottom:2rem;padding:1.5rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.section-header h2{color:var(--text-primary);font-size:1.25rem}.contacts-list{display:flex;flex-direction:column;gap:.5rem}.contact-item{align-items:center;background:var(--bg-hover);border-radius:.625rem;border-radius:var(--radius);display:flex;justify-content:space-between;padding:.75rem 1rem}.btn-delete{background:none;border:none;cursor:pointer;font-size:1.2rem;opacity:.6;transition:opacity .2s}.btn-delete:hover{opacity:1}.progress-bar{background:#e0e0e0;border-radius:10px;height:20px;margin-top:10px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);color:#fff;font-size:12px;height:100%;line-height:20px;text-align:center;transition:width .3s ease}.photo-container{display:flex;flex-direction:column;gap:10px}.btn-delete-photo{align-self:flex-start;background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px}.btn-delete-photo:hover{background:#c82333}.success-message{background:#d4edda;border-radius:6px;color:#155724;margin-bottom:15px;padding:10px}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{background:#e0e0e0!important}.btn-warning{color:#000}.filter-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.filter-controls select{background:#fff}.filter-controls select,.filter-id-input{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:8px 12px}.filter-id-input{width:120px}.header-left{display:flex;flex-direction:column}.sort-hint{color:#999;font-size:12px;margin:0}.date-input{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:8px 12px}.status-badge{border-radius:4px;display:inline-block;font-weight:600;padding:4px 12px}.status-badge.valid{background:#d4edda;color:#155724}.status-badge.cancelled{background:#fff3cd;color:#856404}.receipt-actions{display:flex;justify-content:space-between;margin-bottom:20px}.receipt-document{border:2px solid #333;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:0 auto 30px;padding:30px}.receipt-title-bar{border-bottom:3px solid #333;margin-bottom:20px;padding-bottom:15px}.receipt-title-bar h1{color:#333;font-size:32px;font-weight:700;letter-spacing:4px}.receipt-status{border-radius:4px;font-size:14px;font-weight:700;letter-spacing:1px;padding:6px 16px}.receipt-number{color:#666;font-size:18px;font-weight:600}.receipt-number,.receipt-table{margin-bottom:25px}.receipt-table td,.receipt-table th{border-bottom:1px solid #eee;padding:12px 15px}.receipt-table th{background:#f9f9f9;color:#555}.receipt-table td{color:#333}.receipt-table .amount-cell{color:#2e7d32;font-size:20px}.receipt-hash-section{border-radius:6px;margin-bottom:20px;padding:15px}.hash-label{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px}.receipt-hash{color:#666;font-family:Courier New,monospace;font-size:11px}.receipt-meta{border-top:1px solid #eee;color:#999;font-size:12px;padding-top:15px}.photo-section{background:#fff;border:1px solid #ddd;border-radius:8px;margin:0 auto;max-width:800px;padding:20px}.photo-section h3{color:#333;font-size:18px;margin:0 0 15px}.photo-buttons{display:flex;flex-wrap:wrap;gap:10px}.photo-buttons .btn{align-items:center;cursor:pointer;display:inline-flex;gap:5px}.totals-bar{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:15px 20px}.total-item .total-label{color:#666;font-size:12px;margin-bottom:5px}.total-item .total-value{font-size:18px;font-weight:600}.total-item.income .total-value{color:#28a745}.total-item.withdrawals .total-value{color:#dc3545}.total-item.net .total-value{color:#333;font-size:22px;font-weight:700}.amount.withdrawal{color:#dc3545;font-weight:600}.btn-warning{background:#ffc107;border:1px solid #ffc107;color:#212529}.btn-warning:hover{background:#e0a800;border-color:#e0a800}@media (max-width:768px){.header{flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem}.header h1{font-size:1.25rem}.header .user-info{font-size:.875rem}.dashboard-stats{gap:.75rem;grid-template-columns:1fr;padding:1rem}.action-buttons{flex-wrap:wrap;gap:.5rem}.action-buttons .btn{flex:1 1;font-size:.875rem;min-width:120px;padding:.5rem .75rem}.receipts-header{align-items:stretch;flex-direction:column;gap:1rem}.header-left h2{font-size:1.25rem}.filter-controls{flex-wrap:wrap;gap:.5rem}.filter-controls input,.filter-controls select{flex:1 1;font-size:.875rem;min-width:100px;padding:.5rem}.totals-bar{flex-direction:column;gap:.75rem;padding:1rem}.total-item .total-value{font-size:1.25rem}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}table{font-size:.875rem;min-width:600px}table td,table th{padding:.5rem}.pagination{flex-wrap:wrap;gap:.5rem;justify-content:center}.pagination .btn{font-size:.875rem;padding:.375rem .75rem}.modal{max-height:90vh;overflow-y:auto;padding:1rem;width:95%}.modal h2{font-size:1.25rem}.form-group{margin-bottom:1rem}.form-group label{font-size:.875rem}.form-group input,.form-group select,.form-group textarea{font-size:1rem;padding:.625rem}.modal-footer{flex-direction:column;gap:.5rem}.modal-footer .btn{width:100%}}@media (max-width:480px){.header{padding:.5rem}.header h1{font-size:1rem}.action-buttons .btn{min-width:100%}.filter-controls{flex-direction:column}.filter-controls input,.filter-controls select{width:100%}.stat-card{padding:.75rem}.stat-card h3{font-size:.75rem}.stat-card .value{font-size:1.25rem}}.receipts-actions{min-width:120px;white-space:nowrap}.receipts-actions .btn{font-size:.75rem;margin-right:.25rem;padding:.375rem .5rem}@media (max-width:768px){.receipts-actions{background:#fff;box-shadow:-2px 0 5px #0000001a;min-width:100px;position:-webkit-sticky;position:sticky;right:0;z-index:1}.receipts-actions .btn{display:inline-block;font-size:.8rem;margin-bottom:.25rem;padding:.5rem .625rem}table td:last-child,table th:last-child{background:#f9fafb;position:-webkit-sticky;position:sticky;right:0;z-index:1}}@media (max-width:480px){.receipts-actions{min-width:80px}.receipts-actions .btn{display:block;font-size:.7rem;margin:.125rem 0;min-width:50px;padding:.375rem .5rem}}@media (max-width:768px){.receipt-detail{padding:1rem}.receipt-actions{flex-direction:column;gap:.5rem}.receipt-actions .btn{justify-content:center;width:100%}.receipt-document{padding:1rem}.receipt-title-bar{flex-direction:column;gap:.5rem;text-align:center}.receipt-title-bar h1{font-size:24px}.receipt-number{font-size:14px}.receipt-table{font-size:12px}.receipt-table td,.receipt-table th{display:block;padding:8px 6px;width:100%}.receipt-table thead{display:none}.receipt-table tbody tr{border:1px solid #ddd;display:block;margin-bottom:1rem;padding:.5rem}.receipt-table tbody tr th{color:#666;font-weight:700}.receipt-table tbody tr td,.receipt-table tbody tr th{display:inline-block;padding:4px 0;width:auto}.receipt-table .amount-cell{font-size:18px}.receipt-hash-section{padding:10px}.receipt-hash{word-break:break-all}.receipt-hash,.receipt-meta{font-size:10px}.photo-section{padding:1rem}.photo-container{flex-direction:column}.photo-container img{max-width:100%}}@media (max-width:480px){.receipt-document{padding:.75rem}.receipt-title-bar h1{font-size:20px;letter-spacing:2px}.receipt-status{font-size:12px}.receipt-table .amount-cell{font-size:16px}}@media (max-width:768px){.modal-overlay{align-items:flex-start;overflow-y:auto;padding:.5rem}.modal{margin:.5rem 0;max-height:none;max-width:100%;padding:1rem;width:100%}.modal h2{font-size:1.25rem;margin-bottom:1rem;padding-right:2rem}.form-group{margin-bottom:.875rem}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #ddd;border-radius:6px;font-size:1rem;padding:.625rem;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.modal-footer{border-top:1px solid #eee;flex-direction:column;gap:.5rem;margin-top:1rem;padding-top:1rem}.modal-footer .btn{font-size:1rem;padding:.75rem 1rem;width:100%}.modal-close{font-size:1.5rem;height:2rem;right:.75rem;top:.75rem;width:2rem}datalist{max-height:150px;overflow-y:auto}}@media (max-width:480px){.modal{padding:.75rem}.modal h2{font-size:1.1rem}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:.5rem}.modal-footer .btn{padding:.625rem 1rem}}.tabs{background:rgb(var(--c-raised));border:1px solid rgb(var(--c-line));border-radius:.625rem;border-radius:var(--radius);flex-wrap:wrap;gap:.25rem;margin-bottom:1.5rem;padding:.25rem}.tab,.tabs{display:inline-flex}.tab{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:0;border-radius:.5rem;border-radius:calc(var(--radius) - .125rem);color:rgb(var(--c-muted));cursor:pointer;font:500 .875rem DM Sans,sans-serif;gap:.4rem;padding:.45rem .95rem;text-decoration:none;transition:background .15s ease,color .15s ease}.tab:hover{background:rgb(var(--c-elevated));color:rgb(var(--c-fg))}.tab.active{background:rgb(var(--c-surface));box-shadow:0 1px 2px 0 #142b550d;box-shadow:var(--shadow-sm);color:rgb(var(--c-fg))}.tab.active:before{background:rgb(var(--c-accent));border-radius:50%;content:"";height:6px;width:6px}.pagination{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;padding:1.25rem 0}.pagination button{background:rgb(var(--c-surface));border:1px solid rgb(var(--c-line));border-radius:.625rem;border-radius:var(--radius);color:rgb(var(--c-fg));cursor:pointer;font:500 .8125rem DM Sans,sans-serif;min-height:36px;min-width:36px;padding:0 .75rem;transition:background .15s ease,border-color .15s ease,color .15s ease}.pagination button:hover:not(:disabled){background:rgb(var(--c-raised));border-color:rgb(var(--c-hover-line))}.pagination button:disabled{cursor:not-allowed;opacity:.4}.pagination button.active,.pagination button[aria-current=page]{background:rgb(var(--c-accent));border-color:rgb(var(--c-accent));color:rgb(var(--c-surface))}.pagination .page-info{color:rgb(var(--c-muted));font:500 .8125rem DM Sans,sans-serif;padding:0 .5rem}.status-badge{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font:600 .6875rem DM Sans,sans-serif;gap:.35rem;letter-spacing:.04em;padding:2px .7rem;text-transform:uppercase}.status-badge:before{background:currentColor;border-radius:50%;content:"";height:6px;width:6px}.status-badge.valid{background:rgb(var(--c-success)/.14);border-color:rgb(var(--c-success)/.4);color:rgb(var(--c-success))}.status-badge.cancelled{background:rgb(var(--c-warning)/.16);border-color:rgb(var(--c-warning)/.4);color:rgb(var(--c-warning))}.status-badge.active{background:rgb(var(--c-success)/.14);border-color:rgb(var(--c-success)/.4);color:rgb(var(--c-success))}.status-badge.inactive{background:rgb(var(--c-danger)/.12);border-color:rgb(var(--c-danger)/.4);color:rgb(var(--c-danger))}.status-badge.admin{background:rgb(var(--c-accent)/.12);border-color:rgb(var(--c-accent)/.4);color:rgb(var(--c-accent))}.status-badge.user{background:rgb(var(--c-elevated));border-color:rgb(var(--c-line));color:rgb(var(--c-muted))}.role-badge{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font:600 .6875rem DM Sans,sans-serif;gap:.35rem;letter-spacing:.04em;padding:2px .7rem;text-transform:uppercase}.role-badge.admin{background:rgb(var(--c-accent)/.12);border-color:rgb(var(--c-accent)/.4);color:rgb(var(--c-accent))}.role-badge.user{background:rgb(var(--c-elevated));border-color:rgb(var(--c-line));color:rgb(var(--c-muted))}.payment-method{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font:600 .75rem DM Sans,sans-serif;gap:.4rem;padding:2px .7rem;text-transform:capitalize}.payment-method.cash{background:rgb(var(--c-info)/.14);border-color:rgb(var(--c-info)/.4);color:rgb(var(--c-info))}.payment-method.electronic{background:rgb(var(--c-success)/.14);border-color:rgb(var(--c-success)/.4);color:rgb(var(--c-success))}.payment-method.transfer{background:rgb(var(--c-accent)/.12);border-color:rgb(var(--c-accent)/.4);color:rgb(var(--c-accent))}.payment-method.card{background:rgb(var(--c-warning)/.16);border-color:rgb(var(--c-warning)/.4);color:rgb(var(--c-warning))}.payment-method:before{background:currentColor;border-radius:50%;content:"";height:6px;width:6px}.alert{align-items:center;background:rgb(var(--c-raised));border:1px solid rgb(var(--c-line));border-radius:.625rem;border-radius:var(--radius);color:rgb(var(--c-fg));display:flex;font:500 .875rem DM Sans,sans-serif;gap:.75rem;margin-bottom:1rem;padding:.85rem 1.1rem}.alert-error{background:rgb(var(--c-danger)/.1);border-color:rgb(var(--c-danger)/.35);color:rgb(var(--c-danger))}.alert-success{background:rgb(var(--c-success)/.1);border-color:rgb(var(--c-success)/.35);color:rgb(var(--c-success))}.alert-warning{background:rgb(var(--c-warning)/.1);border-color:rgb(var(--c-warning)/.35);color:rgb(var(--c-warning))}.alert svg{stroke-width:2;flex-shrink:0;height:18px;width:18px}.spinner{animation:spin .8s linear infinite;border:2.5px solid rgb(var(--c-line));border-radius:50%;border-top-color:rgb(var(--c-accent));height:32px;width:32px}.empty-state{color:rgb(var(--c-muted));padding:3rem 2rem;text-align:center}.empty-state svg{stroke-width:1.5;color:rgb(var(--c-line));height:56px;margin-bottom:1rem;width:56px}.empty-state h3{color:rgb(var(--c-fg));font:600 1.125rem DM Sans,sans-serif;margin-bottom:.4rem}.empty-state p{color:rgb(var(--c-muted));margin-bottom:1rem}.modal-overlay{align-items:center;animation:modalFadeIn .18s ease both;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#142b558c;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal{animation:modalSlideUp .22s cubic-bezier(.2,.8,.2,1) both;background:rgb(var(--c-surface));border:1px solid rgb(var(--c-line));border-radius:var(--radius-lg);box-shadow:0 12px 24px -6px #142b551a,0 4px 8px -4px #142b550f;box-shadow:var(--shadow-lg);max-height:90vh;max-width:600px;overflow-y:auto;position:relative;width:100%}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;border-bottom:1px solid rgb(var(--c-line));display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.modal-header h2{font:600 1.125rem DM Sans,sans-serif}.modal-body{padding:1.5rem}.modal-footer{background:rgb(var(--c-raised));border-top:1px solid rgb(var(--c-line));display:flex;gap:.6rem;justify-content:flex-end;padding:1.25rem 1.5rem}.modal-close{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-sm);color:rgb(var(--c-muted));cursor:pointer;display:inline-flex;font-size:1.5rem;height:32px;justify-content:center;line-height:1;position:absolute;right:.85rem;top:.85rem;transition:background .15s ease,color .15s ease;width:32px;z-index:10}.modal-close:hover{background:rgb(var(--c-raised));color:rgb(var(--c-fg))}.modal-close:focus-visible{box-shadow:0 0 0 2px rgb(var(--c-accent)/.3);outline:none}.admin-section,.auth-card,.comments-section,.crop-container,.meta,.photo-section,.quote-card,.receipt-card,.receipts-container,.stat-card,.summary-card,.surface-card{background:rgb(var(--c-surface));border:1px solid rgb(var(--c-line));border-radius:var(--radius-lg);box-shadow:0 1px 2px 0 #142b550d;box-shadow:var(--shadow-sm)}.stat-card{overflow:hidden;padding:1.25rem 1.4rem;position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.stat-card:before{background:var(--c-accent-gradient);content:"";inset:0 auto 0 0;opacity:.85;position:absolute;width:3px}.stat-card:hover{border-color:rgb(var(--c-hover-line));box-shadow:0 4px 8px -2px #142b5514,0 2px 4px -2px #142b550f;box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card h3{color:rgb(var(--c-muted));font:500 .75rem DM Sans,sans-serif;letter-spacing:.06em;margin-bottom:.5rem;text-transform:uppercase}.stat-card .value{font-feature-settings:"tnum" 1;color:rgb(var(--c-fg));font:700 1.875rem DM Sans,sans-serif}.stat-card .delta{align-items:center;color:rgb(var(--c-muted));display:inline-flex;font:500 .75rem DM Sans,sans-serif;gap:.25rem;margin-top:.5rem}.stat-card .delta-up{color:rgb(var(--c-success))}.stat-card .delta-down{color:rgb(var(--c-danger))}.auth-card{box-shadow:0 12px 24px -6px #142b551a,0 4px 8px -4px #142b550f;box-shadow:var(--shadow-lg);padding:2rem}.auth-header h1{color:rgb(var(--c-fg));font:700 1.5rem DM Sans,sans-serif}.auth-header p{color:rgb(var(--c-muted));font-size:.9375rem}.admin-section,.summary-card{padding:1.5rem}.section-header h2{color:rgb(var(--c-fg));font:600 1.125rem DM Sans,sans-serif}.receipts-container{overflow:hidden}.receipts-header{align-items:center;background:rgb(var(--c-surface));border-bottom:1px solid rgb(var(--c-line));display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1.25rem 1.5rem}.receipts-header h2{color:rgb(var(--c-fg));font:600 1.125rem DM Sans,sans-serif}.receipts-table,table.data-table{border-collapse:initial;border-spacing:0;width:100%}.receipts-table th,table.data-table th{background:rgb(var(--c-raised));border-bottom:1px solid rgb(var(--c-line));color:rgb(var(--c-muted));font:600 .6875rem DM Sans,sans-serif;letter-spacing:.05em;padding:.65rem 1rem;text-align:left;text-transform:uppercase;white-space:nowrap}.receipts-table td,table.data-table td{border-bottom:1px solid rgb(var(--c-line));color:rgb(var(--c-fg));font:400 .875rem DM Sans,sans-serif;padding:.85rem 1rem;vertical-align:middle}.receipts-table tbody tr:last-child td,table.data-table tr:last-child td{border-bottom:0}.receipts-table tbody tr,table.data-table tbody tr{transition:background .12s ease}.receipts-table tbody tr:hover,table.data-table tbody tr:hover{background:rgb(var(--c-raised))}.receipts-table th.sortable,table.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.receipts-table th.sortable:hover,table.data-table th.sortable:hover{background:rgb(var(--c-elevated));color:rgb(var(--c-fg))}.receipts-table .amount{font-feature-settings:"tnum" 1;font-weight:600}.receipts-table .amount.withdrawal{color:rgb(var(--c-danger))}.receipts-table .amount:not(.withdrawal){color:rgb(var(--c-success))}.quote-card-row .hash,.receipt-card-row .hash,.receipt-hash code,.receipts-table .hash,table.data-table .hash{color:rgb(var(--c-subtle));font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;letter-spacing:-.02em}.receipt-card{overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.receipt-card:hover{border-color:rgb(var(--c-hover-line));box-shadow:0 4px 8px -2px #142b5514,0 2px 4px -2px #142b550f;box-shadow:var(--shadow-md);transform:translateY(-2px)}.receipt-card-header{align-items:center;background:rgb(var(--c-raised));border-bottom:1px solid rgb(var(--c-line));display:flex;justify-content:space-between;padding:.85rem 1.1rem}.receipt-card-id{color:rgb(var(--c-muted));font:600 .8125rem JetBrains Mono,monospace}.receipt-card-amount{font-feature-settings:"tnum" 1;font:700 1.125rem DM Sans,sans-serif}.receipt-card-amount.income{color:rgb(var(--c-success))}.receipt-card-amount.withdrawal{color:rgb(var(--c-danger))}.receipt-card-body{padding:1rem 1.1rem}.receipt-card-row{align-items:center;border-bottom:1px dashed rgb(var(--c-line));display:flex;font-size:.875rem;justify-content:space-between;padding:.45rem 0}.receipt-card-row:last-child{border-bottom:0}.receipt-card-row .label{color:rgb(var(--c-muted));font-size:.8125rem;font-weight:500}.receipt-card-row .value{color:rgb(var(--c-fg));font-weight:500}.receipt-card-actions{background:rgb(var(--c-raised));border-top:1px solid rgb(var(--c-line));display:flex;gap:.5rem;padding:.85rem 1.1rem}.receipt-card-actions .btn{flex:1 1}.quote-card{overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.quote-card:hover{border-color:rgb(var(--c-hover-line));box-shadow:0 4px 8px -2px #142b5514,0 2px 4px -2px #142b550f;box-shadow:var(--shadow-md);transform:translateY(-2px)}.quote-card-header{align-items:center;background:rgb(var(--c-raised));border-bottom:1px solid rgb(var(--c-line));display:flex;justify-content:space-between;padding:.85rem 1.1rem}.quote-card-number{color:rgb(var(--c-muted));font:600 .8125rem JetBrains Mono,monospace}.quote-card-amount{font-feature-settings:"tnum" 1;color:rgb(var(--c-accent));font:700 1.125rem DM Sans,sans-serif}.quote-card-body{padding:1rem 1.1rem}.quote-card-row{border-bottom:1px dashed rgb(var(--c-line));display:flex;font-size:.875rem;justify-content:space-between;padding:.4rem 0}.quote-card-row:last-child{border-bottom:0}.quote-card-row .label{color:rgb(var(--c-muted))}.quote-card-row .value{color:rgb(var(--c-fg));font-weight:500}.quote-card-actions{background:rgb(var(--c-raised));border-top:1px solid rgb(var(--c-line));display:flex;flex-wrap:wrap;gap:.5rem;padding:.85rem 1.1rem}.quote-card-actions .btn{flex:1 1;min-width:70px}.public-header h1{color:rgb(var(--c-fg));font:700 2rem DM Sans,sans-serif}.public-header p{color:rgb(var(--c-muted))}.dashboard-header h1{color:rgb(var(--c-fg));font:700 1.625rem DM Sans,sans-serif}.totals-bar{background:rgb(var(--c-raised));border:1px solid rgb(var(--c-line));border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-around;margin-bottom:1.25rem;padding:1rem 1.25rem}.total-item{min-width:100px;text-align:center}.total-item .total-label{color:rgb(var(--c-muted));display:block;font:500 .6875rem DM Sans,sans-serif;letter-spacing:.06em;margin-bottom:.3rem;text-transform:uppercase}.total-item .total-value{font-feature-settings:"tnum" 1;color:rgb(var(--c-fg));font:700 1.25rem DM Sans,sans-serif}.total-item.income .total-value{color:rgb(var(--c-success))}.total-item.withdrawals .total-value{color:rgb(var(--c-danger))}.total-item.net .total-value{font-size:1.5rem}.comments-section,.crop-container,.meta,.photo-section,.summary-card{padding:1.25rem 1.4rem}.meta-item .meta-label{color:rgb(var(--c-muted));font:500 .6875rem DM Sans,sans-serif;letter-spacing:.06em;margin-bottom:.25rem;text-transform:uppercase}.meta-item .meta-value{color:rgb(var(--c-fg));font:500 .9375rem DM Sans,sans-serif}.receipt-document{background:#fff;border:1px solid rgb(var(--c-line));border-radius:var(--radius-lg);box-shadow:0 12px 24px -6px #142b551a,0 4px 8px -4px #142b550f;box-shadow:var(--shadow-lg);color:#111827;margin:0 auto 2rem;max-width:800px;padding:2rem}.receipt-title-bar{align-items:center;border-bottom:2px solid #111827;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.receipt-title-bar h1{color:#111827;font:700 1.875rem DM Sans,sans-serif;letter-spacing:.15em;margin:0}.receipt-number{color:#4b5563;font:600 1rem JetBrains Mono,monospace;margin-bottom:1.5rem;text-align:center}.receipt-status.valid{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.receipt-status.cancelled{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.receipt-status{align-items:center;border-radius:999px;display:inline-flex;font:700 .8125rem DM Sans,sans-serif;gap:.4rem;letter-spacing:.05em;padding:.3rem .85rem;text-transform:uppercase}.receipt-table{border-collapse:collapse;margin-bottom:1.5rem;width:100%}.receipt-table td,.receipt-table th{border-bottom:1px solid #e5e7eb;color:#111827;font-family:DM Sans,sans-serif;padding:.75rem .85rem;text-align:left}.receipt-table th{background:#f9fafb;color:#4b5563;font-weight:600;width:180px}.receipt-table .amount-cell{color:#15803d;font-size:1.125rem;font-weight:700}.receipt-table tr.cancel-row td,.receipt-table tr.cancel-row th{background:#fff3cd;color:#856404}.receipt-hash-section{background:#f5f5f5;border-radius:.625rem;border-radius:var(--radius);margin-bottom:1.25rem;padding:1rem 1.25rem}.hash-label{color:#4b5563;font:600 .6875rem DM Sans,sans-serif;letter-spacing:.06em;margin-bottom:.4rem;text-transform:uppercase}.receipt-hash{color:#1f2937;display:block;font-family:JetBrains Mono,monospace;font-size:.8125rem;word-break:break-all}.receipt-meta{border-top:1px solid #e5e7eb;color:#6b7280;font-size:.75rem;padding-top:.85rem;text-align:center}.receipt-detail{margin:0 auto;max-width:800px}.receipt-detail-header{background:var(--c-accent-gradient);border-radius:var(--radius-lg);box-shadow:0 4px 8px -2px #142b5514,0 2px 4px -2px #142b550f;box-shadow:var(--shadow-md);color:rgb(var(--c-surface));margin-bottom:1.5rem;padding:2rem}.receipt-detail-header h1{color:#fff;font:700 1.75rem DM Sans,sans-serif;margin-bottom:.4rem}.receipt-detail-header .receipt-id{color:#ffffffd9;font:500 .8125rem JetBrains Mono,monospace}.receipt-detail-body{background:rgb(var(--c-surface));border:1px solid rgb(var(--c-line));border-radius:var(--radius-lg);padding:1.5rem}.receipt-detail-grid{grid-gap:1rem 1.5rem;display:grid;gap:1rem 1.5rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem}.receipt-detail-item label{color:rgb(var(--c-muted));display:block;font:500 .6875rem DM Sans,sans-serif;letter-spacing:.06em;margin-bottom:.2rem;text-transform:uppercase}.receipt-detail-item .value{color:rgb(var(--c-fg));font:600 1rem DM Sans,sans-serif;word-break:break-word}.receipt-detail-item.amount .value{font-feature-settings:"tnum" 1;color:rgb(var(--c-success));font-size:1.5rem}.receipt-detail-actions{background:rgb(var(--c-raised));border:1px solid rgb(var(--c-line));border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.25rem;padding:1rem 1.5rem}.photos-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-bottom:1.25rem}.photo-container{background:rgb(var(--c-surface));border:1px solid rgb(var(--c-line));border-radius:var(--radius-lg);overflow:hidden;position:relative;transition:border-color .15s ease,transform .15s ease}.photo-container:hover{border-color:rgb(var(--c-hover-line));transform:translateY(-2px)}.photo-container .receipt-photo{display:block;height:220px;object-fit:cover;width:100%}.selected-files{background:rgb(var(--c-raised));border:1px solid rgb(var(--c-line));border-radius:.625rem;border-radius:var(--radius);color:rgb(var(--c-muted));font-size:.875rem;margin-top:.75rem;padding:.85rem 1rem}table.data-table{border-collapse:initial;border-spacing:0}table.data-table thead th{background:rgb(var(--c-raised))}table.data-table tbody tr{transition:background .12s ease}table.data-table tbody tr:hover{background:rgb(var(--c-raised))}.data-table-wrapper{border:1px solid rgb(var(--c-line));border-radius:var(--radius-lg);overflow:hidden}.brand-strip{background:var(--c-accent-gradient);height:3px;width:100%;z-index:60}.brand-strip,.header-rw{position:-webkit-sticky;position:sticky;top:0}.header-rw{backdrop-filter:blur(var(--header-blur));-webkit-backdrop-filter:blur(var(--header-blur));background:var(--header-bg);border-bottom:var(--header-border);transition:var(--t-theme);z-index:50}.header-rw-inner{align-items:center;display:flex;gap:1rem;margin:0 auto;max-width:1200px;padding:.75rem 1.25rem}.header-rw-logo{align-items:center;display:flex;flex-shrink:0;text-decoration:none;transition:opacity .15s ease}.header-rw-logo:hover{opacity:.85}.header-rw-logo img{display:block;height:44px;width:auto}.header-rw-project{align-items:center;background:rgb(var(--c-raised));border:1px solid rgb(var(--c-line));border-radius:.625rem;border-radius:var(--radius);color:rgb(var(--c-fg));cursor:pointer;display:inline-flex;font:500 .875rem DM Sans,sans-serif;gap:.5rem;max-width:220px;min-width:0;padding:.45rem .85rem;transition:background .15s ease,border-color .15s ease}.header-rw-project:hover{background:rgb(var(--c-elevated));border-color:rgb(var(--c-hover-line))}.header-rw-project svg{color:rgb(var(--c-muted));flex-shrink:0;height:16px;width:16px}.header-rw-project select{appearance:none;-webkit-appearance:none;background:#0000;border:0;color:inherit;cursor:pointer;font:inherit;max-width:160px;min-width:0;outline:none;overflow:hidden;padding-right:.5rem;text-overflow:ellipsis}.header-rw-project select option{background:rgb(var(--c-surface));color:rgb(var(--c-fg))}.header-rw-project:after{border-bottom:1.5px solid rgb(var(--c-muted));border-right:1.5px solid rgb(var(--c-muted));content:"";flex-shrink:0;height:8px;pointer-events:none;transform:rotate(45deg) translate(-2px,-2px);width:8px}.header-rw-spacer{flex:1 1}.header-rw-nav{align-items:center;display:flex;gap:.4rem}.header-rw-link{align-items:center;border-radius:.625rem;border-radius:var(--radius);color:rgb(var(--c-fg));display:inline-flex;font:500 .875rem DM Sans,sans-serif;gap:.4rem;padding:.45rem .75rem;text-decoration:none;transition:background .15s ease,color .15s ease;white-space:nowrap}.header-rw-link:hover{background:rgb(var(--c-raised))}.header-rw-link svg{stroke-width:2;flex-shrink:0;height:16px;width:16px}.header-rw-link.is-active{background:rgb(var(--c-accent)/.1)}.header-rw-link.is-active,.header-rw-link.is-active svg{color:rgb(var(--c-accent))}.header-rw-icon-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:.625rem;border-radius:var(--radius);color:rgb(var(--c-muted));cursor:pointer;display:inline-flex;height:38px;justify-content:center;transition:background .15s ease,color .15s ease,border-color .15s ease;width:38px}.header-rw-icon-btn:hover{background:rgb(var(--c-raised));border-color:rgb(var(--c-line));color:rgb(var(--c-fg))}.header-rw-icon-btn:focus-visible{box-shadow:0 0 0 2px rgb(var(--c-accent)/.4);outline:none}.header-rw-icon-btn svg{stroke-width:2;height:18px;width:18px}.header-rw-icon-sun{display:none}.header-rw-icon-moon,[data-theme=dark] .header-rw-icon-sun{display:inline-block}[data-theme=dark] .header-rw-icon-moon{display:none}.header-rw-user{align-items:center;background:rgb(var(--c-raised));border-radius:.625rem;border-radius:var(--radius);color:rgb(var(--c-fg));display:inline-flex;font:500 .8125rem DM Sans,sans-serif;gap:.5rem;padding:.4rem .75rem}.header-rw-user-dot{background:rgb(var(--c-success));border-radius:50%;box-shadow:0 0 0 2px rgb(var(--c-success)/.2);height:8px;width:8px}.header-rw-logout{align-items:center;background:#0000;border:1px solid rgb(var(--c-line));border-radius:.625rem;border-radius:var(--radius);color:rgb(var(--c-muted));cursor:pointer;display:inline-flex;font:500 .8125rem DM Sans,sans-serif;gap:.4rem;padding:.45rem .85rem;transition:all .15s ease}.header-rw-logout:hover{background:rgb(var(--c-danger)/.08);border-color:rgb(var(--c-danger)/.4);color:rgb(var(--c-danger))}.header-rw-logout svg{stroke-width:2;height:14px;width:14px}@media (max-width:1023px){.header-rw-nav-desktop,.header-rw-user-desktop{display:none!important}.header-rw-hamburger{display:inline-flex!important}}@media (min-width:1024px){.header-rw-hamburger{display:none!important}}.header-rw-drawer{inset:0;pointer-events:none;position:fixed;transition:visibility 0ms linear .2s;visibility:hidden;z-index:70}.header-rw-drawer.is-open{pointer-events:auto;transition:visibility 0ms linear 0ms;visibility:visible}.header-rw-drawer-backdrop{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#142b558c;inset:0;opacity:0;position:absolute;transition:opacity .2s ease}.header-rw-drawer.is-open .header-rw-drawer-backdrop{opacity:1}.header-rw-drawer-panel{background:rgb(var(--c-surface));border-right:1px solid rgb(var(--c-line));box-shadow:0 12px 24px -6px #142b551a,0 4px 8px -4px #142b550f;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;inset:0 auto 0 0;max-width:85vw;overflow-y:auto;position:absolute;transform:translateX(-100%);transition:transform .22s cubic-bezier(.2,.8,.2,1);width:300px}.header-rw-drawer.is-open .header-rw-drawer-panel{transform:translateX(0)}.header-rw-drawer-header{align-items:center;border-bottom:1px solid rgb(var(--c-line));display:flex;justify-content:space-between;padding:1rem 1.25rem}.header-rw-drawer-header span{color:rgb(var(--c-fg));font:700 .875rem DM Sans,sans-serif;letter-spacing:.02em;text-transform:uppercase}.header-rw-drawer-body{display:flex;flex-direction:column;gap:.25rem;padding:1rem .75rem}.header-rw-drawer-link{align-items:center;border-radius:.625rem;border-radius:var(--radius);color:rgb(var(--c-fg));display:flex;font:500 .9375rem DM Sans,sans-serif;gap:.85rem;padding:.75rem 1rem;text-decoration:none;transition:background .15s ease}.header-rw-drawer-link:hover{background:rgb(var(--c-raised))}.header-rw-drawer-link.is-active{background:rgb(var(--c-accent)/.1);color:rgb(var(--c-accent))}.header-rw-drawer-link svg{stroke-width:2;color:rgb(var(--c-muted));height:18px;width:18px}.header-rw-drawer-link.is-active svg{color:rgb(var(--c-accent))}.header-rw-drawer-section-label{color:rgb(var(--c-subtle));font:600 .6875rem DM Sans,sans-serif;letter-spacing:.08em;padding:1rem 1rem .4rem;text-transform:uppercase}.header-rw-drawer-user{align-items:center;border-top:1px solid rgb(var(--c-line));display:flex;gap:.75rem;justify-content:space-between;margin-top:auto;padding:1rem 1.25rem}.header-rw-drawer-user-name{color:rgb(var(--c-fg));font:500 .875rem DM Sans,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}[data-theme=dark] .receipt-document,[data-theme=dark] .receipt-meta,[data-theme=dark] .receipt-number,[data-theme=dark] .receipt-table .amount-cell,[data-theme=dark] .receipt-table td,[data-theme=dark] .receipt-table th,[data-theme=dark] .receipt-title-bar h1{background:inherit;color:inherit}[data-theme=dark] .filter-controls select,[data-theme=dark] .form-group select,[data-theme=dark] .project-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a1afc8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}[data-theme=dark] ::-webkit-scrollbar{height:10px;width:10px}[data-theme=dark] ::-webkit-scrollbar-track{background:rgb(var(--c-ink))}[data-theme=dark] ::-webkit-scrollbar-thumb{background:rgb(var(--c-line));border:2px solid rgb(var(--c-ink));border-radius:6px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:rgb(var(--c-hover-line))}
/*# sourceMappingURL=main.f36e23d4.css.map*/