.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f5f5}.login-box{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;width:100%;max-width:400px}.login-box h2{text-align:center;margin-bottom:1.5rem;color:#333}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.25rem;font-weight:500;color:#555}.form-group input{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d933}.login-error{color:#d32f2f;background:#fdecea;padding:.5rem;border-radius:4px;margin-bottom:1rem;font-size:.875rem}.login-box button{width:100%;padding:.625rem;background-color:#4a90d9;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer}.login-box button:hover{background-color:#357abd}.login-box button:disabled{background-color:#a0c4e8;cursor:not-allowed}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.25rem;color:#666}.app-container{min-height:100vh}.app-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background-color:#2c3e50;color:#fff}.app-title{display:flex;align-items:center;gap:8px}.app-title-logo{height:40px;width:auto}.app-header h1{margin:0;font-size:1.25rem}.user-info{display:flex;align-items:center;gap:1rem;font-size:.875rem}.user-info button{padding:.375rem .75rem;background-color:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:4px;cursor:pointer;font-size:.8rem}.user-info button:hover{background-color:#ffffff1a}main{padding:1.5rem}.btn{padding:.4rem 1rem;font-size:.875rem;border:none;border-radius:0;background-color:#6b7280;color:#fff;cursor:pointer;transition:background-color .12s;-webkit-user-select:none;user-select:none}.btn:hover{background-color:#9ca3af}.btn:active{background-color:#4b5563}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{padding:.25rem .6rem;font-size:.8rem}.btn-primary{background-color:#2563eb}.btn-primary:hover{background-color:#60a5fa}.btn-primary:active{background-color:#1d4ed8}.btn-primary:disabled{background-color:#93c5fd}.btn-success{background-color:#16a34a}.btn-success:hover{background-color:#4ade80}.btn-success:active{background-color:#15803d}.btn-success:disabled{background-color:#86efac}.btn-danger{background-color:#dc2626;color:#fff}.btn-danger:hover{background-color:#f87171}.btn-danger:active{background-color:#b91c1c}.btn-danger:disabled{background-color:#fca5a5}.menu-bar{display:flex;background-color:#34495e;padding:0;position:relative}.menu-item{position:relative}.menu-button{background:none;border:none;color:#ccc;padding:.5rem 1rem;cursor:pointer;font-size:.85rem}.menu-button:hover,.menu-button.active{background-color:#4a6785;color:#fff}.menu-dropdown{position:absolute;top:100%;left:0;background-color:#fff;border:1px solid #ccc;box-shadow:0 4px 12px #00000026;min-width:180px;z-index:1000}.menu-dropdown-item{display:block;width:100%;background:none;border:none;padding:.5rem 1rem;text-align:left;cursor:pointer;font-size:.85rem;color:#333}.menu-dropdown-item:hover{background-color:#4a90d9;color:#fff}.dialog-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:flex-start;padding-top:20px;z-index:2000}.dialog{background:linear-gradient(135deg,#b8ccdf,#d8e3ed 40%,#e4eaf2,#eceff5);border-radius:8px;box-shadow:0 8px 32px #00000040;width:90%;max-width:700px;max-height:calc(100vh - 40px);display:flex;flex-direction:column}.dialog-wide{max-width:850px}.dialog-extra-wide{max-width:1210px}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #1e2f3f;background:linear-gradient(90deg,#2c3e50,#3d5470);border-radius:8px 8px 0 0}.dialog-header h2{margin:0;font-size:1.1rem;color:#fff}.dialog-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#ffffffb3;line-height:1}.dialog-close:hover{color:#fff}.dialog-body{padding:1.25rem;overflow-y:auto;flex:1;background:transparent}.dialog-footer{display:flex;gap:.5rem;justify-content:flex-end;padding:.75rem 1.25rem;border-top:1px solid #d0d9e4;background:transparent}.dialog-error{color:#d32f2f;background:#fdecea;padding:.5rem .75rem;border-radius:4px;margin:.5rem 1.25rem;font-size:.85rem}.dialog-success{color:#2e7d32;background:#e8f5e9;padding:.5rem .75rem;border-radius:4px;margin:.5rem 1.25rem;font-size:.85rem}.dialog-toolbar{margin-bottom:.75rem}.dialog-toolbar select,.dialog-toolbar input{padding:.4rem .5rem;border:1px solid #ccc;border-radius:4px;font-size:.875rem;box-sizing:border-box;height:calc(1.675rem + 2px)}.dialog-toolbar select:not(:disabled):hover,.dialog-toolbar input:not(:disabled):hover{border-color:#4a90d9;box-shadow:0 0 0 1px #4a90d9}.dialog-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-bottom:1rem}.dialog-table th{text-align:left;padding:.5rem;border-bottom:2px solid #e0e0e0;color:#555;font-weight:600}.dialog-table td{padding:.4rem .5rem;border-bottom:1px solid #f0f0f0}.dialog-table tr:hover{background-color:#f8f9fa}.dialog-table tr.selected-row{background-color:#e3f2fd}.empty-row{text-align:center;color:#999;padding:1rem!important}.action-cell{white-space:nowrap;text-align:right}.action-cell .btn{margin-right:.25rem}.dialog-form{border-top:1px solid #e0e0e0;padding-top:1rem;margin-top:.5rem}.dialog-form h3{margin:0 0 .75rem;font-size:1rem;color:#333}.form-section{margin-bottom:1rem}.form-section-header{font-size:.8rem;font-weight:600;color:#2c3e50;text-transform:uppercase;letter-spacing:.05em;padding-bottom:.3rem;margin-bottom:.5rem;border-bottom:2px solid #3d5470}.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 1rem}.form-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:0 1rem}.form-row input.negative-value{color:#c62828!important}.dialog-table td input[type=text],.dialog-table td input[type=number],.dialog-table td input[type=date],.dialog-table td select{padding:.4rem .5rem;border:1px solid #ccc;border-radius:4px;font-size:.875rem;box-sizing:border-box}.dialog-table td input:not(:disabled):hover,.dialog-table td select:not(:disabled):hover{border-color:#4a90d9;box-shadow:0 0 0 1px #4a90d9}.dialog-table td input:focus,.dialog-table td select:focus{outline:none;border-color:#4a90d9;box-shadow:0 0 0 1px #4a90d9}.position-row{background-color:#eef3f8}.position-row:hover{background-color:#e2eaf3!important}.ledger-table{width:100%;border-collapse:collapse;font-size:.82rem;margin-bottom:.75rem}.ledger-table th{text-align:center;padding:.4rem .6rem;border-bottom:2px solid #3d5470;font-weight:600;color:#2c3e50;font-size:.78rem;white-space:nowrap}.ledger-table th:first-child,.ledger-table td:first-child{text-align:left}.ledger-table td{padding:.35rem .6rem;border-bottom:1px solid #e0e0e0;text-align:right;font-variant-numeric:tabular-nums}.ledger-table tr.ledger-current{background-color:#e8f0fe;font-weight:600}.ledger-table tr.ledger-totals{border-top:2px solid #3d5470;font-weight:700;background-color:#f0f4f8}.ledger-table tr.ledger-totals td{border-bottom:none;padding-top:.5rem;padding-bottom:.5rem}.compound-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:.5rem}.compound-metric-card{background:#f8f9fb;border:1px solid #dde3ea;border-radius:6px;padding:.5rem .75rem;text-align:center}.compound-metric-card .metric-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:#666;margin-bottom:.2rem}.compound-metric-card .metric-value{font-size:1.1rem;font-weight:700;color:#2c3e50;font-variant-numeric:tabular-nums}.compound-metric-card .metric-value.positive{color:#2e7d32}.compound-metric-card .metric-value.negative{color:#c62828}.form-grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:0 1rem}.form-row{margin-bottom:.75rem}.form-row label{display:block;margin-bottom:.2rem;font-size:.825rem;font-weight:500;color:#555}.form-row input[type=text],.form-row input[type=email],.form-row input[type=password],.form-row input[type=number],.form-row input[type=date],.form-row select{width:100%;padding:.4rem .5rem;border:1px solid #ccc;border-radius:4px;font-size:.875rem;box-sizing:border-box}.form-row input[type=date]{line-height:normal;height:calc(1.775rem + 2px)}.form-row input:not(:disabled):hover,.form-row select:not(:disabled):hover{border-color:#4a90d9;box-shadow:0 0 0 1px #4a90d9}.form-row input:focus,.form-row select:focus{outline:none;border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d933}.input-prefixed{position:relative;display:flex;align-items:stretch}.input-prefixed .input-prefix-symbol{display:flex;align-items:center;padding:0 .4rem;background:#e9ecef;border:1px solid #ccc;border-right:none;border-radius:4px 0 0 4px;font-size:.875rem;color:#555;white-space:nowrap}.input-prefixed input{flex:1;border-radius:0 4px 4px 0!important;min-width:0}.checkbox-label{display:flex!important;align-items:center;gap:.5rem}.checkbox-label input[type=checkbox]{width:auto}.settings-tabs{display:flex;border-bottom:2px solid #e0e0e0;margin-bottom:1rem}.tab-button{background:none;border:none;padding:.5rem 1rem;cursor:pointer;font-size:.85rem;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px}.tab-button:hover{color:#333}.tab-button.active{color:#4a90d9;border-bottom-color:#4a90d9}.settings-tab-content{min-height:200px}.settings-array-table{margin-top:.75rem}.settings-array-table input{width:100%;padding:.3rem .4rem;border:1px solid #ddd;border-radius:3px;font-size:.825rem;box-sizing:border-box}.settings-array-table input:focus{outline:none;border-color:#4a90d9}
