:root{--color-primary: #1a73e8;--color-primary-hover: #1557b0;--color-primary-light: #e8f0fe;--color-primary-subtle: #f0f6ff;--color-danger: #dc3545;--color-danger-hover: #c82333;--color-success: #28a745;--color-success-hover: #218838;--color-warning-bg: #fff8e1;--color-warning-border: #ffe082;--color-text-primary: #1a1a2e;--color-text-secondary: #5f6368;--color-text-muted: #9aa0a6;--color-border: #e0e0e0;--color-border-light: #eef0f2;--color-bg-page: #f0f2f5;--color-bg-card: #ffffff;--color-bg-subtle: #f8f9fb;--color-bg-hover: #f5f7fa;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08), 0 1px 3px rgba(0, 0, 0, .04);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .12), 0 4px 12px rgba(0, 0, 0, .06);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", "Consolas", monospace;--transition-fast: .15s ease;--transition-base: .2s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--color-bg-page);color:var(--color-text-primary);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{max-width:1480px;margin:0 auto;padding:24px 32px}.header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;margin-bottom:24px;background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border-bottom:3px solid var(--color-primary)}.header h1{font-size:24px;font-weight:700;color:var(--color-text-primary);letter-spacing:-.5px}.month-year{display:flex;gap:10px;align-items:center}.month-year select{padding:9px 36px 9px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--color-text-primary);background:var(--color-bg-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235f6368' d='M2 4l4 4 4-4z'/%3E%3C/svg%3E") no-repeat right 12px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.month-year select:hover{border-color:var(--color-primary)}.month-year select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1a73e826}.tabs{display:flex;gap:4px;margin-bottom:24px;background:var(--color-bg-card);padding:6px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.tab{padding:11px 28px;border:none;border-radius:var(--radius-sm);cursor:pointer;background:transparent;font-weight:500;font-size:14px;color:var(--color-text-secondary);transition:all var(--transition-base);-webkit-user-select:none;user-select:none;position:relative}.tab:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.tab.active{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #1a73e84d}.tab .count{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;padding:2px 9px;border-radius:20px;font-size:12px;font-weight:600;min-width:24px;background:#0000000f;color:var(--color-text-secondary);transition:all var(--transition-base)}.tab.active .count{background:#ffffff40;color:#fff}.filters{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;margin-bottom:20px;padding:20px 24px;background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.filter-group select{padding:9px 36px 9px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);min-width:170px;font-size:13px;color:var(--color-text-primary);background:var(--color-bg-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235f6368' d='M2 4l4 4 4-4z'/%3E%3C/svg%3E") no-repeat right 12px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.filter-group select:hover{border-color:var(--color-primary)}.filter-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1a73e826}.btn{padding:9px 20px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:13px;letter-spacing:.2px;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 1px 3px #1a73e84d}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:0 2px 6px #1a73e859;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0);box-shadow:0 1px 2px #1a73e84d}.btn-primary:disabled{background:#bdbdbd;color:#fff;cursor:not-allowed;box-shadow:none;transform:none}.btn-danger{background:var(--color-danger);color:#fff;box-shadow:0 1px 3px #dc354540}.btn-danger:hover{background:var(--color-danger-hover);box-shadow:0 2px 6px #dc35454d;transform:translateY(-1px)}.btn-danger:active{transform:translateY(0)}.btn-danger:disabled{background:#bdbdbd;color:#fff;cursor:not-allowed;box-shadow:none;transform:none}.btn-success{background:var(--color-success);color:#fff;box-shadow:0 1px 3px #28a74540}.btn-success:hover{background:var(--color-success-hover);box-shadow:0 2px 6px #28a7454d;transform:translateY(-1px)}.btn-success:active{transform:translateY(0)}.btn-success:disabled{background:#bdbdbd;color:#fff;cursor:not-allowed;box-shadow:none;transform:none}.btn-outline{background:var(--color-bg-card);border:1.5px solid var(--color-border);color:var(--color-text-secondary)}.btn-outline:hover{background:var(--color-bg-hover);border-color:silver;color:var(--color-text-primary)}.btn-outline:active{background:#eee}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px;padding:14px 20px;background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);flex-wrap:wrap}.toolbar input[type=text]{padding:9px 14px 9px 36px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);min-width:260px;font-size:13px;color:var(--color-text-primary);background:var(--color-bg-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M11.5 11.5L14 14' stroke='%239aa0a6' stroke-width='1.5' stroke-linecap='round'/%3E%3Ccircle cx='7' cy='7' r='4.5' stroke='%239aa0a6' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat 12px center;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.toolbar input[type=text]::placeholder{color:var(--color-text-muted)}.toolbar input[type=text]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1a73e826}.toolbar select{padding:9px 36px 9px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;color:var(--color-text-primary);background:var(--color-bg-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235f6368' d='M2 4l4 4 4-4z'/%3E%3C/svg%3E") no-repeat right 12px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.toolbar select:hover{border-color:var(--color-primary)}.toolbar select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1a73e826}.select-all{display:flex;align-items:center;gap:8px;padding:0;font-size:13px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.select-all input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}table{width:100%;border-collapse:separate;border-spacing:0;background:var(--color-bg-card);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}thead{position:relative}th{padding:12px 16px;text-align:left;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;font-size:11px;letter-spacing:.5px;background:var(--color-bg-subtle);border-bottom:2px solid var(--color-border);position:sticky;top:0;z-index:10;white-space:nowrap}td{padding:11px 16px;text-align:left;border-bottom:1px solid var(--color-border-light);font-size:13px;color:var(--color-text-primary);vertical-align:middle}tbody tr:nth-child(2n){background:var(--color-primary-subtle)}tbody tr:hover{background:var(--color-primary-light)}tbody tr{transition:background-color var(--transition-fast)}td input[type=checkbox],th input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}tbody tr:only-child td[colspan]{text-align:center;padding:48px 20px;color:var(--color-text-muted);font-size:14px;font-style:italic}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.3px;white-space:nowrap}.status-process{background:#e6f4ea;color:#137333;border:1px solid #ceead6}.status-hold{background:#fef7e0;color:#b06000;border:1px solid #fce8b2}.status-negative{background:#fce8e6;color:#c5221f;border:1px solid #f5c6c4}.status-swift{background:#e6f4ea;color:#137333;border:1px solid #ceead6}.status-orn{background:#e8f0fe;color:#1a56db;border:1px solid #c6dafc}.status-rrn{background:#e0f2f1;color:#00695c;border:1px solid #b2dfdb}.breakdown{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:24px;margin:12px 8px 12px 48px;box-shadow:var(--shadow-md);position:relative}.breakdown:before{content:"";position:absolute;top:-8px;left:40px;width:16px;height:16px;background:var(--color-bg-card);border-top:1px solid var(--color-border);border-left:1px solid var(--color-border);transform:rotate(45deg)}.breakdown h4{font-size:15px;font-weight:600;color:var(--color-primary);margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--color-primary-light)}.breakdown-section{margin-bottom:20px}.breakdown-section h5{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);margin-bottom:8px;font-weight:600}.breakdown-row{display:flex;justify-content:space-between;padding:5px 0;font-size:13px}.breakdown-row .label{color:var(--color-text-secondary)}.breakdown-row .value{font-weight:500;font-family:var(--font-mono);font-size:13px}.breakdown-row .value.negative{color:var(--color-danger)}.breakdown-row .value.positive{color:var(--color-success)}.breakdown-total{border-top:2px solid var(--color-text-primary);padding-top:10px;margin-top:10px;font-weight:700;font-size:15px}.breakdown table{border-radius:var(--radius-sm);box-shadow:none;border:1px solid var(--color-border-light);margin-bottom:16px}.breakdown table th{background:var(--color-primary-light);color:var(--color-primary);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:10px 14px;border-bottom:2px solid var(--color-primary)}.breakdown table td{padding:8px 14px;font-size:13px;border-bottom:1px solid var(--color-border-light)}.breakdown table tbody tr:nth-child(2n){background:var(--color-bg-subtle)}.breakdown table tbody tr:hover{background:var(--color-primary-light)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn var(--transition-base)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:28px 32px;max-width:540px;width:92%;box-shadow:var(--shadow-lg);animation:slideUp .25s ease}.modal h3{margin-bottom:18px;font-size:18px;font-weight:700;color:var(--color-text-primary);letter-spacing:-.3px}.modal input{width:100%;padding:11px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:20px;font-size:14px;color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.modal input::placeholder{color:var(--color-text-muted)}.modal input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1a73e826}.modal .actions{display:flex;gap:10px;justify-content:flex-end;padding-top:4px}.modal table{border-radius:var(--radius-sm);margin-bottom:20px}.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:80vh;gap:28px}.login-container h1{font-size:32px;font-weight:700;color:var(--color-text-primary);letter-spacing:-.5px}.login-container .btn{padding:14px 32px;font-size:15px;border-radius:var(--radius-md)}.loading{text-align:center;padding:56px 20px;color:var(--color-text-muted);font-size:14px;font-weight:500}.loading:before{content:"";display:block;width:32px;height:32px;margin:0 auto 16px;border:3px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{background:#fce8e6;color:#c5221f;padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:16px;border:1px solid #f5c6c4;font-size:13px;font-weight:500;line-height:1.5}@media(max-width:1200px){.app{padding:20px}.toolbar input[type=text]{min-width:200px}}@media(max-width:900px){.app{padding:16px 12px}.header{flex-direction:column;gap:12px;align-items:flex-start;padding:16px 20px}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{padding:10px 20px;font-size:13px}.filters{padding:16px;gap:10px}.filter-group select{min-width:140px}.toolbar{padding:12px 14px;gap:8px}.toolbar input[type=text]{min-width:100%;order:-1}.breakdown{margin-left:8px;margin-right:4px;padding:16px}.breakdown:before{display:none}th,td{padding:9px 10px;font-size:12px}th{font-size:10px}}@media(max-width:600px){.header h1{font-size:20px}.modal{width:96%;padding:20px}.btn{padding:8px 14px;font-size:12px}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c4c4c4;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a0a0a0}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background:#1a73e833;color:var(--color-text-primary)}
