.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-image);background-attachment:fixed;background-color:var(--bg);padding:1rem}.login-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:2.5rem 2rem;box-shadow:var(--shadow-lg);width:100%;max-width:360px;text-align:center}.login-logo{font-size:3rem;margin-bottom:.5rem;line-height:1}.login-title{font-size:1.8rem;font-weight:700;letter-spacing:-.02em;color:var(--text);margin-bottom:.2rem}.login-sub{font-size:.82rem;color:var(--text-secondary);margin-bottom:1.75rem}.login-form{text-align:left}.login-form .form-group{margin-bottom:1rem}.login-btn{width:100%;justify-content:center;padding:.65rem 1rem;font-size:.9rem;margin-top:.5rem}.op-form{display:flex;flex-direction:column;flex:1}.op-type-select-wrap{padding:.75rem 1.25rem 0;position:relative;flex-shrink:0}.op-type-select{width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--bg-input);border:1px solid var(--border-input);border-left:3px solid var(--group-color, var(--accent));border-radius:var(--radius);padding:.5rem 2rem .5rem .75rem;font-size:.875rem;color:var(--text);cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s}.op-type-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #007aff33}.op-type-select-arrow{position:absolute;right:1.85rem;top:calc(50% + .375rem);transform:translateY(-50%);font-size:.6rem;color:var(--text-muted);pointer-events:none}.op-form-body{padding:1.1rem 1.25rem 1.5rem;display:flex;flex-direction:column;flex:1}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.readonly-input{background:var(--bg-stripe);color:var(--text-secondary);cursor:default;font-size:.82rem}.transfer-arrow{text-align:center;font-size:1.2rem;color:var(--text-muted);margin:-.4rem 0;line-height:1}.form-hint{font-size:.72rem;color:var(--text-muted);margin-top:-.5rem;margin-bottom:.5rem}.op-textarea{resize:vertical;min-height:52px;cursor:text}.op-submit{width:100%;justify-content:center;padding:.7rem;font-size:.9rem;margin-top:auto;position:sticky;bottom:0}.ss-wrap{position:relative;outline:none}.ss-wrap.disabled{opacity:.6;pointer-events:none}.ss-trigger{display:flex;align-items:center;background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius);padding:.4rem .6rem .4rem .75rem;cursor:pointer;transition:border-color .15s,box-shadow .15s;min-height:34px}.ss-wrap.open .ss-trigger{border-color:var(--accent);box-shadow:0 0 0 3px #007aff33}.ss-input{flex:1;border:none;background:transparent;outline:none;font-size:.85rem;color:var(--text);cursor:text;min-width:0}.ss-value{flex:1;font-size:.85rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-value.placeholder{color:var(--text-muted)}.ss-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.ss-clear{background:transparent;border:none;color:var(--text-muted);font-size:1rem;line-height:1;padding:0 .1rem;cursor:pointer}.ss-clear:hover{color:var(--red)}.ss-arrow{font-size:.6rem;color:var(--text-muted)}.ss-dropdown{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--glass-bg);border:1px solid var(--glass-border-hi);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-height:220px;overflow-y:auto;z-index:200}.ss-option{padding:.45rem .75rem;font-size:.84rem;cursor:pointer;transition:background .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-option:hover{background:var(--bg-hover)}.ss-option.selected{background:#007aff14;color:var(--accent);font-weight:600}.ss-empty{padding:.75rem;text-align:center;color:var(--text-muted);font-size:.82rem}.journal-wrap{display:flex;flex-direction:column;flex:1;overflow:hidden}.journal-filters{display:flex;align-items:center;gap:.75rem;padding:.7rem 1.25rem;border-bottom:1px solid var(--glass-border);background:#ffffffb3;flex-shrink:0;flex-wrap:wrap}.filter-pills{display:flex;gap:.25rem;flex-wrap:wrap}.filter-pill{padding:.22rem .65rem;border-radius:var(--radius);border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-secondary);font-size:.76rem;font-weight:500;cursor:pointer;transition:all .12s}.filter-pill:hover{color:var(--text);border-color:var(--glass-border-hi)}.filter-pill.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.journal-search{width:160px;padding:.3rem .65rem;font-size:.8rem}.journal-table-wrap{flex:1;overflow:auto}.journal-tbl .account-cell{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;color:var(--text-secondary)}.journal-tbl .contact-cell,.journal-tbl .project-cell{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.journal-row{cursor:pointer}.journal-row.expanded{background:#007aff0a!important}.st-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:.8rem;font-weight:700}.st-ok{background:#34c75926;color:var(--green)}.st-error{background:#ff3b3026;color:var(--red)}.st-pending{background:#0000000f;color:var(--text-muted)}.detail-row td{padding:0!important}.detail-panel{padding:.75rem 1.25rem;background:#007aff08;border-top:1px solid rgba(0,122,255,.1);border-bottom:1px solid rgba(0,122,255,.1);font-size:.8rem;color:var(--text-secondary);display:flex;flex-direction:column;gap:.3rem}.detail-panel strong{color:var(--text)}.detail-error{color:var(--red)}.journal-pagination{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-top:1px solid var(--glass-border);font-size:.8rem;color:var(--text-secondary);background:#ffffffb3;flex-shrink:0}.main-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-image);background-attachment:fixed;background-color:var(--bg)}.main-header{height:var(--header-h);background:#fffffff2;border-bottom:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;position:sticky;top:0;z-index:100;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);flex-shrink:0}.header-brand{display:flex;align-items:center;gap:.5rem}.header-logo{font-size:1.3rem}.header-title{font-size:1rem;font-weight:700;color:var(--text);letter-spacing:-.01em}.header-domain{font-size:.75rem;color:var(--text-muted);font-family:ui-monospace,Menlo,Consolas,monospace}.header-right{display:flex;align-items:center;gap:.75rem}.header-user{display:flex;align-items:center;gap:.4rem}.header-user-name{font-size:.85rem;font-weight:500}.btn-sm{padding:.3rem .7rem;font-size:.78rem}.main-split{flex:1;display:grid;grid-template-columns:380px 1fr;gap:0;min-height:0;overflow:hidden}.split-left{border-right:1px solid var(--glass-border);background:#fff9;display:flex;flex-direction:column;overflow-y:auto;height:calc(100vh - var(--header-h));position:sticky;top:var(--header-h)}.split-right{display:flex;flex-direction:column;overflow:hidden;padding:0}.split-panel-header{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);padding:.85rem 1.25rem .6rem;border-bottom:1px solid var(--glass-border);background:#fffc;flex-shrink:0;position:sticky;top:0;z-index:10}.panel-error{padding:1.25rem;display:flex;flex-direction:column;gap:.5rem}@media (max-width: 900px){.main-split{grid-template-columns:1fr}.split-left{height:auto;position:static;border-right:none;border-bottom:1px solid var(--glass-border)}}.queue-page{min-height:100vh;background:#f5f5f7;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,sans-serif;color:#1d1d1f}.queue-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#ffffffd9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.08);position:sticky;top:0;z-index:10}.queue-header-left{display:flex;align-items:center;gap:16px}.queue-header-right{display:flex;align-items:center;gap:20px}.btn-back{background:none;border:none;color:#0071e3;font-size:14px;font-weight:500;cursor:pointer;padding:6px 10px;border-radius:8px}.btn-back:hover{background:#0071e314}.queue-title{font-size:20px;font-weight:600;margin:0;display:flex;align-items:center;gap:8px}.badge-count{background:#ff3b30;color:#fff;border-radius:10px;font-size:12px;font-weight:700;padding:2px 7px;min-width:20px;text-align:center}.stats-row{display:flex;gap:16px;font-size:13px;color:#6e6e73}.stat-item{display:flex;align-items:center;gap:5px}.stat-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-green{background:#34c759}.dot-yellow{background:#ff9500}.btn-poll{background:#0071e3;color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.btn-poll:hover:not(:disabled){background:#005eba}.btn-poll:disabled{opacity:.5;cursor:not-allowed}.queue-tabs{display:flex;gap:4px;padding:12px 24px 0;border-bottom:1px solid rgba(0,0,0,.08);background:#fff}.tab-btn{background:none;border:none;border-bottom:2px solid transparent;padding:8px 14px;font-size:14px;color:#6e6e73;cursor:pointer;display:flex;align-items:center;gap:6px;transition:color .15s}.tab-btn:hover{color:#1d1d1f}.tab-active{color:#0071e3;border-bottom-color:#0071e3;font-weight:500}.tab-count{background:#ff9500;color:#fff;border-radius:8px;font-size:11px;font-weight:700;padding:1px 6px}.queue-error{color:#ff3b30;padding:20px 24px}.queue-loading{color:#6e6e73;padding:40px 24px;text-align:center}.queue-empty{color:#6e6e73;padding:48px 24px;text-align:center;font-size:15px}.candidates-list{padding:20px 24px;display:flex;flex-direction:column;gap:12px;max-width:900px}.candidate-card{background:#fff;border-radius:12px;padding:16px 18px;border:1px solid rgba(0,0,0,.08);box-shadow:0 1px 3px #0000000a;transition:box-shadow .15s}.candidate-card:hover{box-shadow:0 2px 8px #00000017}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.card-left{display:flex;align-items:center;gap:10px}.card-right{display:flex;align-items:center;gap:10px;color:#6e6e73;font-size:13px}.confidence-badge{border-radius:8px;font-size:13px;font-weight:700;padding:3px 9px}.badge-green{background:#d1fae5;color:#065f46}.badge-yellow{background:#fef3c7;color:#92400e}.badge-gray{background:#f3f4f6;color:#6b7280}.card-amount{font-size:18px;font-weight:600}.card-ko-type{font-size:13px;color:#6e6e73;background:#f5f5f7;border-radius:6px;padding:2px 8px}.card-ts,.card-status{font-size:12px}.status-label-pending{color:#ff9500}.status-label-auto_approved,.status-label-approved{color:#34c759}.status-label-rejected{color:#ff3b30}.status-label-draft{color:#aeaeb2}.card-body{margin-bottom:12px}.card-op-type{font-size:14px;font-weight:500;margin-bottom:6px}.card-scores{display:flex;gap:12px;font-size:12px;color:#6e6e73}.card-note{margin-top:6px;font-size:12px;color:#ff9500;background:#fef3c7;border-radius:6px;padding:4px 8px}.card-actions{display:flex;gap:8px}.btn-approve{background:#34c759;color:#fff;border:none;border-radius:8px;padding:7px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.btn-approve:hover:not(:disabled){background:#28a745}.btn-edit{background:#f5f5f7;color:#1d1d1f;border:1px solid rgba(0,0,0,.12);border-radius:8px;padding:7px 16px;font-size:13px;cursor:pointer;transition:background .15s}.btn-edit:hover:not(:disabled){background:#e8e8ed}.btn-reject{background:none;color:#ff3b30;border:1px solid rgba(255,59,48,.3);border-radius:8px;padding:7px 16px;font-size:13px;cursor:pointer;transition:background .15s}.btn-reject:hover:not(:disabled){background:#ff3b300f}.btn-approve:disabled,.btn-edit:disabled,.btn-reject:disabled{opacity:.5;cursor:not-allowed}.edit-form{border-top:1px solid #f5f5f7;padding-top:14px;display:flex;flex-direction:column;gap:10px}.edit-row{display:flex;align-items:center;gap:10px}.edit-row label{width:130px;font-size:13px;color:#6e6e73;flex-shrink:0}.edit-row select,.edit-row input{flex:1;padding:7px 10px;border:1px solid rgba(0,0,0,.15);border-radius:8px;font-size:13px;background:#fff;outline:none}.edit-row select:focus,.edit-row input:focus{border-color:#0071e3}.edit-actions{display:flex;gap:8px;padding-top:4px}.btn-cancel{background:none;color:#6e6e73;border:1px solid rgba(0,0,0,.15);border-radius:8px;padding:7px 16px;font-size:13px;cursor:pointer}.btn-cancel:hover{background:#f5f5f7}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--bg: #f5f5f7;--bg-card: #ffffff;--bg-hover: #f8f8fa;--bg-input: #ffffff;--bg-stripe: rgba(0,0,0,.02);--bg-sidebar: #1d1d1f;--bg-image: linear-gradient(180deg, #f5f5f7 0%, #ebebed 100%);--glass-blur: 0;--glass-bg: #ffffff;--glass-bg-hover: #ffffff;--glass-border: rgba(0,0,0,.06);--glass-border-hi: rgba(0,0,0,.12);--glass-shadow: 0 1px 3px rgba(0,0,0,.08);--glass-shadow-hover: 0 4px 12px rgba(0,0,0,.12);--border: rgba(0,0,0,.08);--border-input: rgba(0,0,0,.15);--text: #1d1d1f;--text-secondary: #6e6e73;--text-muted: #86868b;--text-sidebar: rgba(255,255,255,.9);--text-link: #007aff;--accent: #007aff;--accent-hover: #0051d5;--green: #34c759;--red: #ff3b30;--yellow: #ff9500;--orange: #ff9500;--purple: #af52de;--shadow-sm: 0 1px 2px rgba(0,0,0,.06);--shadow: 0 1px 3px rgba(0,0,0,.08);--shadow-lg: 0 4px 16px rgba(0,0,0,.1);--radius: 6px;--radius-lg: 12px;--radius-xl: 16px;--header-h: 52px;font-family:var(--font);font-size:14px;color:var(--text);line-height:1.5}body{background:var(--bg-image);background-attachment:fixed;background-color:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:var(--font);font-size:inherit;cursor:pointer;color:inherit}input,select,textarea{cursor:text}table{border-collapse:collapse;width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--glass-border-hi)}.card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;box-shadow:var(--glass-shadow);position:relative;overflow:hidden}.card-header{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--glass-border)}.badge{display:inline-flex;align-items:center;padding:.18em .6em;border-radius:4px;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent}.badge-green{background:#34c7591f;color:var(--green);border-color:#34c75947}.badge-red{background:#ff3b301f;color:var(--red);border-color:#ff3b3047}.badge-yellow{background:#ff95001f;color:var(--yellow);border-color:#ff950047}.badge-blue{background:#007aff1f;color:var(--accent);border-color:#007aff47}.badge-gray{background:#0000000f;color:var(--text-secondary);border-color:#0000001a}.badge-purple{background:#af52de1f;color:var(--purple);border-color:#af52de47}.tbl-wrap{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--glass-shadow)}.tbl{width:100%;border-collapse:collapse;font-size:.82rem}.tbl thead th{text-align:left;color:#fff;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.7rem .85rem;background:#1d1d1f;white-space:nowrap;position:sticky;top:0;z-index:1}.tbl tbody tr{border-bottom:1px solid #f0f0f0;transition:background .1s}.tbl tbody tr:last-child{border-bottom:none}.tbl tbody tr:hover{background:#f8f8fa}.tbl tbody td{padding:.55rem .85rem;vertical-align:middle}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem}.num{text-align:right;font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.input,.form-select{background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius);color:var(--text);padding:.45rem .75rem;font-size:.85rem;outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.input:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #007aff33}.btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem 1rem;border-radius:var(--radius);font-size:.85rem;font-weight:500;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text);transition:background .15s,border-color .15s,transform .12s;white-space:nowrap;cursor:pointer}.btn:hover{background:var(--bg-hover);border-color:var(--glass-border-hi);transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff!important;font-weight:600}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:disabled{background:var(--accent);opacity:.5}.btn-danger{background:var(--red);border-color:var(--red);color:#fff!important;font-weight:600}.form-group{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.85rem}.form-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.form-error{font-size:.75rem;color:var(--red);margin-top:.25rem}.loading{padding:2rem 1rem;text-align:center;color:var(--text-secondary);font-size:.85rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.loading:before{content:"";display:block;width:16px;height:16px;border:2px solid var(--glass-border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.error-msg{padding:.75rem 1rem;margin:.75rem 0;background:#ff3b3014;border:1px solid rgba(255,59,48,.2);border-radius:var(--radius);color:var(--red);font-size:.82rem}.success-msg{padding:.75rem 1rem;margin:.75rem 0;background:#34c75914;border:1px solid rgba(52,199,89,.2);border-radius:var(--radius);color:var(--green);font-size:.82rem}.empty-state{padding:2.5rem 1rem;text-align:center;color:var(--text-muted);font-size:.85rem}.type-income{color:#34c759}.type-expense{color:#ff3b30}.type-transfer{color:#007aff}.type-salary{color:#af52de}
