:root{--primary:#0f766e;--primary-hover:#115e59;--primary-light:#ecfdf5;--secondary:#f59e0b;--bg-main:#f3f4f6;--bg-card:#fff;--text-main:#111827;--text-muted:#6b7280;--border:#e5e7eb;--border-light:#f3f4f6;--danger:#ef4444;--danger-light:#fee2e2;--warning:#f59e0b;--warning-light:#fef3c7;--success:#047857;--success-light:#ecfdf5;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 10px 25px #0000001f;--shadow-xl:0 20px 40px #00000026;--radius-md:12px;--radius-lg:16px;--font-family:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--transition-fast:.15s ease;--transition-normal:.3s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:radial-gradient(circle at top, #0f766e1f, transparent 28%), linear-gradient(180deg, #ecfdf5 0%, var(--bg-main) 26%);color:var(--text-main);-webkit-font-smoothing:antialiased;line-height:1.5}.app-container{background-color:var(--bg-main);width:min(100%,980px);min-height:100vh;box-shadow:var(--shadow-lg);flex-direction:column;margin:0 auto;display:flex}body,input,select,button,textarea{-webkit-tap-highlight-color:transparent}.header{background-color:var(--bg-card);border-bottom:2px solid var(--border-light);z-index:10;box-shadow:var(--shadow-sm);animation:slideDown var(--transition-normal);padding:24px 20px 16px;position:sticky;top:0}.header h1{color:var(--primary);letter-spacing:-.5px;margin-bottom:4px;font-size:24px;font-weight:700}.date-display{color:var(--text-muted);font-size:13px;font-weight:500}.header-actions{align-items:center;gap:12px;display:flex}.tabs{background-color:var(--bg-card);border-bottom:1px solid var(--border);scrollbar-width:none;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab-btn{min-width:max-content;min-height:58px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:16px 20px;font-size:14px;font-weight:600;position:relative}.tab-btn:hover{color:var(--primary);background-color:#0f766e0a}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.content{-webkit-overflow-scrolling:touch;flex:1;padding:20px;overflow-y:auto}.tab-content{animation:.3s fadeIn;display:none}.tab-content.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.card{background-color:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:all var(--transition-normal);margin-bottom:20px;padding:20px;animation:.4s slideUp}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card h2{color:var(--text-main);letter-spacing:-.3px;margin-bottom:16px;font-size:18px;font-weight:700}.card h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:14px;font-weight:600}.gradient-primary{background:linear-gradient(135deg, var(--primary) 0%, #14b8a6 100%);color:#fff;border:none;position:relative;overflow:hidden;box-shadow:0 8px 20px #0f766e40}.gradient-primary:before{content:"";background:radial-gradient(circle,#ffffff1a 0%,#0000 70%);border-radius:50%;width:300px;height:300px;position:absolute;top:0;right:0;transform:translate(50%,-50%)}.gradient-primary h2,.gradient-primary .formula-text{color:#fffffff2;z-index:1;position:relative}.summary-amount{margin-bottom:4px;font-size:36px;font-weight:700}.formula-text{opacity:.9;font-size:12px}.grid-2-col{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;display:grid}.stat-card{border-radius:var(--radius-lg);border:1.5px solid var(--border);transition:all var(--transition-normal);background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%);flex-direction:column;justify-content:space-between;margin-bottom:0;padding:20px;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary);transform:translateY(-4px)}.stat-value{color:var(--primary);font-size:26px;font-weight:800;line-height:1.2}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:8px;font-size:13px;font-weight:600}.stat-card.highlight{background:linear-gradient(135deg,#f0fdf4 0%,#ecfdf5 100%);border-color:#a7f3d0}.stat-card.highlight .stat-value{color:#047857}.btn{border-radius:var(--radius-md);cursor:pointer;min-height:54px;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;width:100%;padding:14px 20px;font-family:inherit;font-size:16px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";background:#ffffff4d;border-radius:50%;width:0;height:0;transition:width .3s,height .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn:active:before{width:300px;height:300px}.btn-small{background-color:var(--bg-main);border:1px solid var(--border);width:auto;min-height:44px;transition:all var(--transition-fast);margin-top:8px;padding:10px 14px;font-size:14px}.btn-small:hover{background-color:var(--border);border-color:var(--text-muted)}.btn-primary{background-color:var(--primary);color:#fff;box-shadow:0 4px 12px #0f766e40}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 16px #0f766e59}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px #0f766e33}.btn-secondary{color:#4b5563;border:1px solid var(--border);background-color:#f3f4f6}.btn-secondary:hover{background-color:var(--border);box-shadow:var(--shadow-sm)}.btn-success{background-color:var(--success);color:#fff;box-shadow:0 4px 12px #04785740}.btn-success:hover{background-color:#065f46;transform:translateY(-2px);box-shadow:0 6px 16px #04785759}.btn-danger{background-color:var(--danger);color:#fff;box-shadow:0 4px 12px #ef444440}.btn-danger:hover{background-color:#dc2626;transform:translateY(-2px);box-shadow:0 6px 16px #ef444459}.input-row{margin-bottom:16px}.input-row label{color:var(--text-main);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:14px;font-weight:600;display:block}input[type=number],input[type=text],input[type=date],select{border:2px solid var(--border-light);border-radius:var(--radius-md);width:100%;min-height:56px;transition:all var(--transition-fast);color:var(--text-main);background-color:#fafbfc;padding:14px 16px;font-family:inherit;font-size:16px}input[type=number]::placeholder,input[type=text]::placeholder{color:var(--text-muted)}input:focus,select:focus{border-color:var(--primary);background-color:#fff;outline:none;box-shadow:0 0 0 3px #0f766e1a}input:hover,select:hover{border-color:#d1d5db}.total-display{border-radius:var(--radius-md);border:1px solid var(--border);transition:all var(--transition-normal);background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%);justify-content:space-between;align-items:center;margin-top:16px;margin-bottom:16px;padding:20px 16px;display:flex}.total-display:hover{box-shadow:var(--shadow-sm)}.total-display strong{color:var(--primary);font-size:24px;font-weight:800}.total-display label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:14px;font-weight:600}.mt-4{margin-top:16px}.centered-message{min-height:100vh;color:var(--text-muted);justify-content:center;align-items:center;font-size:16px;display:flex}.banner{border-radius:var(--radius-md);border:1px solid var(--border);align-items:center;gap:8px;margin-bottom:16px;padding:14px 16px;font-size:14px;font-weight:600;animation:.3s slideDown;display:flex}.banner-error{background-color:var(--danger-light);color:#991b1b;border-color:#fecaca}.banner-error:before{content:"⚠️"}.banner-success{background-color:var(--success-light);color:#065f46;border-color:#a7f3d0}.banner-success:before{content:"✓";font-weight:700}.denominations-grid{flex-direction:column;gap:12px;display:flex}.denom-row{transition:background-color var(--transition-fast);align-items:center;gap:12px;padding:8px 0;display:flex}.denom-row:hover{background-color:#0f766e05;border-radius:8px;padding:8px}.denom-label{color:#1e40af;background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border-radius:10px;flex:0 0 80px;justify-content:center;align-items:center;padding:12px;font-family:Courier New,monospace;font-size:15px;font-weight:700;display:flex;box-shadow:0 2px 4px #1e3a8a1a}.denom-x{color:var(--text-muted);font-weight:600}.denom-input{flex:1}.denom-total{text-align:right;color:var(--primary);flex:0 0 100px;font-size:16px;font-weight:700}.check-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.check-row:last-of-type{border-bottom:none}.inline-note{border-radius:10px;margin-top:14px;padding:12px 14px;font-size:13px;font-weight:600;animation:.3s slideUp}.note-ok{color:#065f46;background-color:#ecfdf5;border:1px solid #a7f3d0;align-items:center;gap:8px;display:flex}.note-ok:before{content:"✓";font-weight:700}.note-error{background-color:var(--danger-light);color:#7f1d1d;border:1px solid #fecaca;align-items:center;gap:8px;display:flex}.note-error:before{content:"✕";font-weight:700}.note-neutral{color:#1e3a8a;background-color:#eff6ff;border:1px solid #bfdbfe;align-items:center;gap:8px;display:flex}.note-neutral:before{content:"ℹ";font-weight:700}.spinner{background:currentColor;border-radius:50%;width:4px;height:4px;margin:0 2px;animation:1.4s infinite pulse;display:inline-block}.spinner:first-child{animation-delay:0s}.spinner:nth-child(2){animation-delay:.2s}.spinner:nth-child(3){animation-delay:.4s}.note-warn{color:#92400e;background-color:#fffbeb}.note-neutral{color:#1d4ed8;background-color:#eff6ff}.flex-row{align-items:flex-end;gap:12px;display:flex}.flex-grow{flex:1}.shrink-0{flex-shrink:0;width:auto}.list-container{flex-direction:column;gap:12px;display:flex}.list-item{border-radius:var(--radius-md);border:1px solid var(--border);background-color:#fff;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.list-item-content h4{word-break:break-word;margin-bottom:2px;font-size:15px;font-weight:600}.list-item-content p{color:var(--text-muted);word-break:break-word;font-size:13px}.list-item-value{color:var(--danger);font-weight:700}.list-item-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.list-item-actions .btn-small{margin-top:0}.vendor-edit-panel{width:100%}.empty-state{text-align:center;color:var(--text-muted);padding:24px 0;font-size:14px;font-style:italic}.modal{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0006;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal.active{display:flex}.modal-content{border-radius:var(--radius-lg);width:90%;max-width:360px;box-shadow:var(--shadow-lg);background-color:#fff;padding:24px}.modal-content h3{margin-bottom:16px;font-size:18px}.modal-actions{gap:12px;margin-top:20px;display:flex}.verification-panel{border-radius:var(--radius-md);border:1px solid var(--border);background-color:var(--bg-card);text-align:center;padding:16px}.verification-status{border-radius:8px;margin-top:8px;padding:8px;font-size:18px;font-weight:700}.status-matched{color:#03543f;background-color:#def7ec}.status-mismatch{color:#9b1c1c;background-color:#fde8e8}.status-pending{color:#4b5563;background-color:#f3f4f6}.verification-note{color:var(--text-muted);margin-top:10px;font-size:13px}.verification-reason{color:#92400e;background-color:#fffbeb;border-radius:10px;margin-top:10px;padding:10px 12px;font-size:13px;font-weight:600}.auth-shell{background:radial-gradient(circle at 0 0,#0f766e26,#0000 28%),linear-gradient(#f4fbf8 0%,#eef5ff 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fffffff7;border:1px solid #94a3b826;border-radius:20px;width:min(100%,460px);padding:40px 32px;animation:.5s scaleIn;box-shadow:0 25px 50px #0f172a26}.auth-copy h1{color:var(--text-main);letter-spacing:-.5px;margin-top:16px;margin-bottom:12px;font-size:32px;font-weight:800}.auth-copy p{color:var(--text-muted);margin-bottom:24px;font-size:15px;line-height:1.6}.eyebrow{color:#065f46;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;display:inline-block;box-shadow:0 2px 8px #0478571a}.auth-form{gap:16px;display:grid}.auth-form label{color:var(--text-main);text-transform:uppercase;letter-spacing:.5px;gap:8px;font-size:14px;font-weight:600;display:grid}.auth-input{border:2px solid var(--border-light);border-radius:var(--radius-md);min-height:52px;transition:all var(--transition-fast);background-color:#fafbfc;padding:14px 16px;font-size:15px}.auth-input:focus{border-color:var(--primary);background-color:#fff;outline:none;box-shadow:0 0 0 3px #0f766e1a}.auth-password-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;display:grid}.auth-password-toggle{min-width:88px;margin-top:28px}.auth-submit{background:linear-gradient(135deg, var(--primary), #14b8a6);letter-spacing:.5px;width:100%;margin-top:12px;font-size:16px;box-shadow:0 6px 16px #0f766e4d}.auth-submit:hover{box-shadow:0 8px 20px #0f766e66}.auth-credentials{color:#065f46;background:linear-gradient(135deg,#f0fdf4 0%,#ecfdf5 100%);border:1px solid #a7f3d0;border-radius:14px;gap:6px;padding:16px;font-size:13px;font-weight:500;display:grid}.role-selector{margin-bottom:8px}.role-label{color:var(--text-main);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;font-size:14px;font-weight:700;display:block}.role-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.role-btn{border:2px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);text-align:center;background-color:#fafbfc;flex-direction:column;justify-content:center;align-items:center;min-height:120px;padding:20px 16px;display:flex}.role-btn:hover{border-color:var(--primary);background-color:#0f766e08;box-shadow:0 4px 12px #0f766e1a}.role-btn.active{border-color:var(--primary);background:linear-gradient(135deg,#ecfdf5 0%,#0f766e0d 100%);box-shadow:0 6px 16px #0f766e26}.role-icon{margin-bottom:8px;font-size:32px;display:block}.role-name{color:var(--text-main);margin-bottom:2px;font-size:16px;font-weight:700;display:block}.role-desc{color:var(--text-muted);font-size:12px;font-weight:500;display:block}.input-label{color:var(--text-main);text-transform:uppercase;letter-spacing:.5px;font-size:14px;font-weight:700}.loading-dots{align-items:center;gap:4px;display:flex}.report-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:20px 0;display:grid}.section-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.section-actions{gap:12px;display:flex}.section-btn{width:auto;min-width:120px}.section-subtitle{color:var(--text-muted);font-size:14px}.history-edit-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.supervisor-section{background:linear-gradient(#fffffffa 0%,#f0f9ffeb 100%)}.supervisor-create-grid{align-items:end;margin-bottom:18px}.supervisor-create-btn{min-width:180px;min-height:48px}.supervisor-list{gap:14px}.supervisor-list-item{background:#ffffffe0;border:1px solid #94a3b833;border-radius:16px;align-items:center;gap:18px;padding:18px 20px}.history-list-item{align-items:stretch}.history-expense-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;width:100%;display:grid}.supervisor-password-form{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px}.supervisor-update-btn{min-width:150px;min-height:46px}.report-table-shell{overflow-x:auto}.report-table{border-collapse:collapse;width:100%;min-width:620px}.report-table th,.report-table td{text-align:left;border-bottom:1px solid var(--border);padding:14px 16px}.report-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:13px}.report-row-alert{color:#991b1b;background-color:#fef2f2}.mismatch-alert-item{background-color:#fef2f2;border-color:#fecaca}@media (width<=720px){.app-container{width:100%;box-shadow:none;min-height:100dvh}.header{padding:18px 16px 14px}.header h1{font-size:22px}.tabs{padding:0 6px}.tab-btn{min-height:52px;padding:14px 16px;font-size:13px}.content{padding:16px}.card{margin-bottom:16px;padding:16px}.grid-2-col{grid-template-columns:1fr;gap:12px}.check-row{flex-direction:column;align-items:flex-start;gap:4px}.denom-row{grid-template-columns:78px 1fr auto;align-items:center;display:grid}.denom-label,.denom-total{flex:initial}.header-actions{flex-direction:column;justify-content:stretch;width:100%;margin-top:12px}.header-actions .btn{width:100%;min-height:50px}.auth-card{padding:22px}.auth-password-row{grid-template-columns:1fr}.auth-password-toggle{width:100%}.section-header,.section-actions{flex-direction:column}.section-btn{width:100%}.list-item{flex-direction:column;align-items:stretch;padding:14px}.supervisor-password-form{grid-template-columns:1fr}.supervisor-create-btn,.supervisor-update-btn{width:100%}.list-item-value{text-align:left}.list-item-actions{justify-content:stretch}.list-item-actions .btn-small{width:100%}.modal-content{width:calc(100% - 24px);max-width:none;padding:20px}.modal-actions{flex-direction:column}}@media (width<=420px){.header{padding:16px 12px 12px}.content{padding:12px}.card{border-radius:14px;padding:14px}.summary-amount{font-size:30px}.tab-btn{padding:12px 14px}.denom-row{grid-template-columns:68px 1fr auto;gap:8px}.denom-label{padding:6px;font-size:14px}}
