*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f5f6f8;color:#111}.app{display:flex;flex-direction:column;height:100%}.navbar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1.5rem;background:#fff;border-bottom:1px solid #ccc;color:#111}.brand{font-weight:700;font-size:1.1rem;cursor:pointer}.nav-actions{display:flex;gap:.5rem}.page{flex:1;display:flex;flex-direction:column}.landing{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.landing h1{font-size:3.5rem;margin:0}.landing p{font-size:1.6rem;margin:0}.landing button{font-size:1.3rem;padding:.8rem 1.8rem}.form-page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.auth-card{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 1px 3px #00000014;width:100%;max-width:360px;padding:2rem;text-align:center}.auth-card form{display:flex;flex-direction:column;align-items:center;margin-top:1rem}.auth-card input{width:100%}.auth-card button{width:100%;margin-top:.5rem}.auth-card p{margin-top:.75rem}.auth-switch{font-size:.9rem;color:#555}.link{color:#3ecf8e;font-weight:600;cursor:pointer}.link:hover{text-decoration:underline}h1{font-size:1.6rem;margin:0}p{margin:.25rem 0}input{padding:.5rem .75rem;margin:.25rem 0 .75rem;border:1px solid #ccc;border-radius:6px;width:260px;font-size:1rem}button{padding:.5rem 1rem;border:none;border-radius:6px;background:#3ecf8e;color:#fff;font-size:1rem;cursor:pointer}button:hover{opacity:.9}button+button{margin-left:.5rem}.error{color:#d33}.notice{color:#1a7f37}.dashboard{flex:1;display:flex;min-height:0}.sidebar{width:240px;background:#fff;border-right:1px solid #ddd;display:flex;flex-direction:column}.sidebar-brand{padding:1rem 1.25rem;font-weight:700;font-size:1.1rem;border-bottom:1px solid #eee}.sidebar-footer{margin-top:auto;padding:1rem;border-top:1px solid #eee}.sidebar-footer button{width:100%}.user-section{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid #eee}.user-name{font-weight:700;font-size:1.05rem}.user-role{font-size:.85rem;color:#666}.sidebar-nav{padding:.5rem 0}.sidebar-nav button{display:block;width:100%;text-align:left;background:none;border:none;color:#111;padding:.75rem 1.5rem;font-size:1rem;border-radius:0;margin-left:0}.sidebar-nav button:hover{background:#f0f0f0}.sidebar-nav button.active{background:#3ecf8e;color:#fff}.dashboard-main{flex:1;display:flex;overflow:auto}.welcome{margin:auto;text-align:center}.profile-card{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 1px 3px #00000014;max-width:440px;margin:auto;padding:2rem;text-align:center}.profile-card form{display:flex;flex-direction:column;align-items:center;margin-top:1rem}.profile-card label{width:100%;text-align:left;font-size:.9rem;color:#555;margin-bottom:.25rem}.profile-card input{width:100%;margin:.25rem 0 1rem}.accounts-card{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 1px 3px #00000014;max-width:720px;width:100%;margin:30px auto;padding:2rem;align-self:flex-start}.accounts-card.wide{max-width:1100px}.accounts-card h1{margin-bottom:.5rem}.accounts-table{width:100%;border-collapse:collapse;margin-top:1rem}.accounts-table th,.accounts-table td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid #eee}.accounts-table select{padding:.35rem .5rem;border:1px solid #ccc;border-radius:6px;font-size:.95rem}.accounts-table button{padding:.35rem .9rem}.admin-role{display:inline-block;padding:.3rem .6rem;background:#f0f0f0;border:1px solid #ddd;border-radius:6px;font-size:.9rem;color:#555}.accounts-actions{margin-top:1.25rem;text-align:right}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.search-input{width:100%;margin:.75rem 0 0}.clickable-row{cursor:pointer}.clickable-row:hover{background:#f9f9f9}.row-actions{white-space:nowrap}.btn-edit{background:#f0f0f0;color:#111}.btn-delete{background:#d33}.back-link{background:none;border:none;color:#3ecf8e;font-weight:600;padding:0;margin-bottom:.5rem;cursor:pointer}.back-link:hover{text-decoration:underline}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{background:#fff;border-radius:10px;padding:1.5rem;width:100%;max-width:380px;box-shadow:0 8px 30px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal-header h2{font-size:1.2rem;margin:0}.modal-close{background:none;border:none;color:#888;font-size:1.4rem;line-height:1;padding:0 .25rem;cursor:pointer}.modal-close:hover{opacity:1;color:#111}.modal-form{display:flex;flex-direction:column}.modal-form label{font-size:.9rem;color:#555;margin-bottom:.25rem}.modal-form input{width:100%;margin:.25rem 0 1rem}.modal-form select{width:100%;margin:.25rem 0 1rem;padding:.5rem .75rem;border:1px solid #ccc;border-radius:6px;font-size:1rem;background:#fff}.modal-form input:disabled{background:#f0f0f0;color:#666}.modal-actions{display:flex;justify-content:flex-end;margin-top:.5rem}.tx-actions{display:flex;gap:.5rem;margin-top:1.25rem}.balance-row{display:flex;gap:1rem;margin:.5rem 0 .25rem}.balance-box{flex:1;background:#f9f9f9;border:1px solid #eee;border-radius:8px;padding:1rem;text-align:center}.balance-label{font-size:.85rem;color:#666}.balance-value{font-size:1.4rem;font-weight:700;margin-top:.25rem}.adv-toggle{background:none;border:none;color:#3ecf8e;font-weight:600;padding:.5rem 0;cursor:pointer}.adv-toggle:hover{text-decoration:underline}.adv-search{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;background:#f9f9f9;border:1px solid #eee;border-radius:8px;padding:.75rem;margin:.5rem 0 1rem}.adv-search label{display:flex;flex-direction:column;font-size:.85rem;color:#555}.adv-search input,.adv-search select{width:100%;margin:.25rem 0 0;padding:.4rem .6rem}.tx-table-wrap{max-height:360px;overflow-y:auto;margin-top:.75rem}.tx-table thead th{position:sticky;top:0;background:#fff}.tx-received{color:#1a7f37;font-weight:600}.tx-issued{color:#d33;font-weight:600}.empty-cell{text-align:center;color:#888;padding:1.5rem!important}.tx-totals{display:flex;gap:1rem;margin-top:1.25rem}.tx-total-box{flex:1;background:#f9f9f9;border:1px solid #eee;border-radius:8px;padding:.75rem 1rem}.tx-total-box h3{font-size:.95rem;margin:0 0 .5rem}.tx-total-box p{margin:.15rem 0;font-size:.9rem}.combobox{position:relative;display:flex;align-items:center;margin:.25rem 0 1rem}.combobox input{flex:1;width:100%;margin:0;padding-right:2rem;text-align:left}.combobox-arrow{position:absolute;right:0;top:50%;transform:translateY(-50%);width:2rem;height:100%;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.combobox-arrow:after{content:"";border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #555}.combobox-arrow:hover:after{border-top-color:#111}.combobox-list{position:absolute;top:100%;left:0;right:0;max-height:180px;overflow-y:auto;background:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 4px 12px #00000026;margin:.25rem 0 0;padding:.25rem 0;list-style:none;text-align:left;z-index:200}.combobox-item{padding:.4rem .75rem;cursor:pointer;font-size:.95rem}.combobox-item:hover{background:#f0f0f0}.combobox-empty{padding:.4rem .75rem;color:#888;font-size:.9rem}button:disabled{opacity:.5;cursor:not-allowed}
