.topnav{background:#1a237e;flex-wrap:wrap;gap:8px;padding:10px 20px;display:flex}.topnav__btn{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff80;border-radius:4px;padding:6px 16px;font-size:14px}.msg-panel{height:100%;padding:16px;overflow-y:auto}.msg-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.msg-title{color:#333;margin:0;font-size:16px}.msg-archive-btn{cursor:pointer;color:#666;background:0 0;border:1px solid #ccc;border-radius:4px;margin-right:32px;padding:4px 10px;font-size:12px}.msg-card{background:#fff;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:8px;padding:12px;position:relative}.msg-card--pinned{background:#f5f7ff;border-left:3px solid #1a237e}.msg-pin{margin-right:6px;font-size:12px}.msg-text{color:#333;margin:0;font-size:14px;line-height:1.5}.msg-footer{align-items:center;gap:8px;margin-top:6px;display:flex}.msg-badge{color:#2e7d32;background:#e8f5e9;border-radius:10px;padding:2px 6px;font-size:11px;display:inline-block}.msg-date{color:#999;font-size:11px}.msg-hint{color:#999;text-align:center;margin-top:40px;font-size:14px}.msg-link{color:#1a237e;cursor:pointer;text-decoration:underline}.msg-btn{color:#fff;cursor:pointer;background:#1a237e;border:none;border-radius:4px;margin-top:6px;padding:6px 14px;font-size:13px;display:inline-block}.msg-btn:hover{background:#283593}.fu-panel{height:100%;padding:16px;overflow-y:auto}.fu-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.fu-title{color:#1a237e;flex:1;margin:0;font-size:16px}.fu-close-btn{cursor:pointer;color:#666;background:0 0;border:1px solid #ccc;border-radius:4px;margin-left:8px;padding:2px 8px;font-size:14px}.fu-desc{color:#555;white-space:pre-wrap;margin-bottom:20px;font-size:13px;line-height:1.6}.fu-fields{flex-direction:column;gap:16px;margin-bottom:20px;display:flex}.fu-field{flex-direction:column;gap:6px;display:flex}.fu-label{color:#333;font-size:13px;font-weight:600}.fu-required{color:#c62828}.fu-input{padding:4px 0;font-size:13px}.fu-submit{color:#fff;cursor:pointer;background:#1a237e;border:none;border-radius:4px;padding:10px 24px;font-size:14px}.fu-submit--disabled{cursor:not-allowed;background:#9e9e9e}.fu-error{color:#c62828;margin-bottom:12px;font-size:13px}.fu-success{color:#2e7d32;margin-bottom:12px;font-size:13px}.fu-hint{color:#999;text-align:center;margin-top:40px;font-size:14px}.fin-form{flex-direction:column;gap:6px;max-width:560px;display:flex}.fin-title{color:#1a237e;margin:0 0 4px;font-size:18px}.fin-desc{color:#666;margin:0 0 12px;font-size:13px;line-height:1.5}.fin-label{color:#555;margin-top:6px;font-size:12px;font-weight:600}.fin-input{box-sizing:border-box;border:1px solid #ccc;border-radius:4px;width:100%;padding:8px 10px;font-size:14px}.fin-input--readonly{color:#888}.fin-textarea{resize:vertical;min-height:60px}.fin-input-short{box-sizing:border-box;border:1px solid #ccc;border-radius:4px;width:180px;padding:8px 10px;font-size:14px}.fin-field-row{align-items:center;gap:8px;display:flex}.fin-curr-label{color:#555;min-width:36px;font-size:13px;font-weight:600}.fin-account-group{background:#f7f9fc;border:1px solid #d0d7e5;border-radius:6px;margin-top:8px;padding:10px 14px 6px}.fin-group-label{color:#1a237e;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:11px;font-weight:700}.fin-saldo{color:#444;margin:2px 0 0;font-size:12px}.fin-btn{color:#fff;cursor:pointer;background:#1a237e;border:none;border-radius:4px;margin-top:14px;padding:10px 24px;font-size:15px;font-weight:600}.fin-btn--submitting{opacity:.6}.fin-success{color:#388e3c;margin:8px 0 0;font-size:14px;font-weight:600}.fin-error{color:#c62828;margin:8px 0 0;font-size:14px}.fin-hint{color:#999;font-size:14px}.dt-form{flex-direction:column;gap:12px;display:flex}.dt-title{margin:0;font-size:1.1rem;font-weight:600}.dt-desc{color:#555;margin:0;font-size:.9rem}.dt-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dt-controls label{color:#555;font-size:.85rem}.dt-select{border:1px solid #ccc;border-radius:4px;padding:4px 8px;font-size:.85rem}.dt-filter-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.dt-filter-group{flex-direction:column;gap:4px;display:flex}.dt-filter-group label{color:#666;font-size:.8rem}.dt-filter-group select,.dt-filter-group input{border:1px solid #ccc;border-radius:4px;min-width:120px;padding:4px 8px;font-size:.85rem}.dt-filter-clear{cursor:pointer;background:#f5f5f5;border:1px solid #aaa;border-radius:4px;padding:4px 10px;font-size:.85rem}.dt-filter-clear:hover{background:#e8e8e8}.dt-col-chooser{flex-wrap:wrap;gap:6px;display:flex}.dt-col-chip{cursor:pointer;-webkit-user-select:none;user-select:none;background:#f9f9f9;border:1px solid #ccc;border-radius:12px;align-items:center;gap:4px;padding:3px 8px;font-size:.8rem;display:inline-flex}.dt-col-chip--active{color:#fff;background:#4a90d9;border-color:#4a90d9}.dt-table-wrap{overflow-x:auto}table.dt-table{border-collapse:collapse;width:100%;font-size:.85rem}table.dt-table th{text-align:left;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f0f0f0;border-bottom:2px solid #ddd;padding:6px 10px}table.dt-table th:first-child{cursor:default}table.dt-table th .dt-sort-icon{margin-left:4px;font-size:.7rem}table.dt-table td{vertical-align:top;border-bottom:1px solid #eee;padding:5px 10px}table.dt-table tr:hover td{background:#fafafa}.dt-actions{gap:4px;display:flex}.dt-btn-remove{color:#fff;cursor:pointer;background:#e74c3c;border:none;border-radius:3px;padding:2px 8px;font-size:.75rem}.dt-btn-remove:hover{background:#c0392b}.dt-btn-edit{color:#fff;cursor:pointer;background:#3498db;border:none;border-radius:3px;padding:2px 8px;font-size:.75rem}.dt-btn-edit:hover{background:#2980b9}.dt-pagination{align-items:center;gap:8px;font-size:.85rem;display:flex}.dt-page-btn{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;padding:3px 10px}.dt-page-btn:disabled{opacity:.4;cursor:default}.dt-page-btn:not(:disabled):hover{background:#f0f0f0}.dt-page-info{color:#555}.dt-btn-add{color:#fff;cursor:pointer;background:#27ae60;border:none;border-radius:4px;padding:5px 14px;font-size:.9rem}.dt-btn-add:hover{background:#219a52}.dt-hint{color:#888;font-size:.9rem}.dt-error{color:#e74c3c;font-size:.9rem}.dt-success{color:#27ae60;font-size:.9rem}.dt-loading{color:#888;font-size:.9rem}.dt-modal-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dt-modal{background:#fff;border-radius:8px;width:100%;min-width:380px;max-width:560px;max-height:80vh;padding:24px;overflow-y:auto;box-shadow:0 8px 32px #0003}.dt-modal-title{margin:0 0 16px;font-size:1rem;font-weight:600}.dt-modal-body{flex-direction:column;gap:10px;display:flex}.dt-modal-footer{gap:10px;margin-top:18px;display:flex}.dt-field-group{flex-direction:column;gap:4px;display:flex}.dt-field-label{color:#555;font-size:.85rem}.dt-input{box-sizing:border-box;border:1px solid #ccc;border-radius:4px;width:100%;padding:6px 10px;font-size:.9rem}.dt-textarea{resize:vertical;min-height:100px;font-family:monospace;font-size:.8rem}.dt-multiselect{flex-wrap:wrap;gap:6px;display:flex}.dt-ms-option{cursor:pointer;align-items:center;gap:4px;font-size:.85rem;display:inline-flex}.dt-btn-save{color:#fff;cursor:pointer;background:#3498db;border:none;border-radius:4px;padding:6px 18px;font-size:.9rem}.dt-btn-save:hover{background:#2980b9}.dt-btn-cancel{color:#333;cursor:pointer;background:#ecf0f1;border:1px solid #ccc;border-radius:4px;padding:6px 14px;font-size:.9rem}.dt-btn-cancel:hover{background:#dfe6e9}.rf-form{flex-direction:column;gap:14px;display:flex}.rf-title{margin:0;font-size:1.1rem;font-weight:600}.rf-desc{color:#555;margin:0;font-size:.9rem;line-height:1.5}.rf-fields{flex-direction:column;gap:12px;display:flex}.rf-field-group{flex-direction:column;gap:4px;display:flex}.rf-label{color:#555;font-size:.85rem}.rf-input{box-sizing:border-box;border:1px solid #ccc;border-radius:4px;width:100%;max-width:320px;padding:6px 10px;font-size:.9rem}.rf-input:focus{border-color:#4a90d9;outline:none}.rf-btn-submit{color:#fff;cursor:pointer;background:#27ae60;border:none;border-radius:4px;align-self:flex-start;padding:8px 20px;font-size:.95rem}.rf-btn-submit:hover:not(:disabled){background:#219a52}.rf-btn-submit:disabled{opacity:.55;cursor:default}.rf-hint{color:#888;margin:0;font-size:.9rem}.rf-error{color:#e74c3c;margin:0;font-size:.9rem}.rf-success{color:#27ae60;margin:0;font-size:.9rem}.nav-panel{height:100%;padding:16px;overflow-y:auto}.nav-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.nav-title{color:#333;margin:0;font-size:16px}.nav-btns-row{gap:8px;margin-bottom:16px;display:flex}.nav-btns{gap:8px;display:flex}.nav-btn{cursor:pointer;color:#555;background:0 0;border:1px solid #ccc;border-radius:4px;padding:4px 10px;font-size:12px}.nav-grid{flex-direction:column;gap:12px;display:flex}.nav-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000000f}.nav-card__name{color:#1a237e;margin:0 0 8px;font-size:16px}.nav-card__desc{color:#666;margin:0 0 12px;font-size:13px;line-height:1.5}.nav-card__btn{color:#fff;cursor:pointer;background:#1a237e;border:none;border-radius:4px;padding:8px 20px;font-size:14px}.nav-hint{color:#999;text-align:center;margin-top:40px;font-size:14px}.app-root{background:#f5f5f5;flex-direction:column;height:100vh;font-family:Arial,sans-serif;display:flex}.app-center{flex-direction:column;justify-content:center;align-items:center;height:100vh;font-family:Arial;display:flex}.app-greeting{color:#333;background:#fff;border-bottom:1px solid #e0e0e0;padding:10px 20px;font-size:15px}.app-panels{flex:1;display:flex;overflow:hidden}.app-left{background:#fafafa;border-right:1px solid #e0e0e0;width:50%;position:relative;overflow-y:auto}.app-left--collapsed{background:#fafafa;border-right:1px solid #e0e0e0;flex-shrink:0;justify-content:center;align-items:flex-start;width:32px;padding-top:8px;display:flex}.app-right{background:#fafafa;width:50%;overflow-y:auto}.app-right--expanded{background:#fafafa;flex:1;overflow-y:auto}.app-collapse-btn{cursor:pointer;color:#999;z-index:1;background:0 0;border:1px solid #ccc;border-radius:4px;padding:2px 6px;font-size:11px;position:absolute;top:8px;right:8px}.app-expand-btn{cursor:pointer;color:#999;background:0 0;border:1px solid #ccc;border-radius:4px;padding:2px 4px;font-size:11px}
