*{box-sizing:border-box}
body{margin:0;min-height:100vh;font-family:system-ui,sans-serif;color:#f0f0f0;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e) fixed}
.container{max-width:900px;margin:auto;padding:20px 20px 48px}
.glass-card,.summary-item,.modal{background:rgba(255,255,255,.1);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:24px;margin-bottom:20px}
.login-container{max-width:400px;margin:0 auto;display:flex;align-items:center;min-height:100vh}
.login-container .glass-card{width:100%}
h1,h2,h3{color:#fff;margin-bottom:.5em}
.btn{display:inline-block;padding:10px 24px;border-radius:8px;border:none;cursor:pointer;font-size:1rem;color:#000;font-weight:600;background:#00d4ff;transition:background .2s,box-shadow .3s}
.btn:hover{background:#00b8d9}
.btn:disabled,.btn[disabled]{background:rgba(255,255,255,.15);color:rgba(255,255,255,.3);cursor:not-allowed;box-shadow:none}
.btn-glow{box-shadow:0 0 16px rgba(0,212,255,.5),0 0 32px rgba(0,212,255,.25)}
.btn-danger{background:#ff4757;color:#fff}
.btn-warning{background:#ffa502;color:#000}
.btn-view{background:#a855f7}
.btn-edit,.btn-edit-user,.btn-edit-cat{background:#ff9f43}
.btn-admin{background:#ffd32a;color:#000}
.btn-logout{background:#ff6b81;color:#fff}
.btn-pdf{background:#ff4757;color:#fff}
.btn-csv{background:#2ed573;color:#000}
.btn-print{background:#a4b0be;color:#000}
.btn-email{background:#3742fa;color:#fff}
.btn-sm{padding:6px 14px;font-size:.85rem}
.btn-sm svg{display:inline-block;vertical-align:middle}
input,select,textarea{width:100%;padding:10px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;font-size:1rem;margin-bottom:12px;box-sizing:border-box}
input::placeholder,textarea::placeholder{color:rgba(255,255,255,.4)}
input:focus,select:focus,textarea:focus{outline:none;border-color:#00d4ff}
label{display:block;margin-bottom:4px;font-size:.9rem;color:rgba(255,255,255,.7)}
.form-group{margin-bottom:16px}
.form-row{display:flex;gap:12px}
.form-row .form-group{flex:1;margin-bottom:16px}
.alert{padding:12px 16px;border-radius:8px;margin-bottom:16px}
.alert-danger{background:rgba(255,71,87,.2);border:1px solid rgba(255,71,87,.4)}
.alert-success{background:rgba(46,213,115,.2);border:1px solid rgba(46,213,115,.4)}
table{width:100%;border-collapse:collapse}
th{text-align:left;padding:10px;border-bottom:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.6);font-size:.85rem;text-transform:uppercase}
td{padding:10px;border-bottom:1px solid rgba(255,255,255,.08)}
.progress-bar{height:8px;border-radius:4px;background:rgba(255,255,255,.1);overflow:hidden;margin-top:4px}
.progress-fill{height:100%;border-radius:4px;background:#00d4ff;transition:width .3s}
.progress-fill.warning{background:#ffa502}
.progress-fill.over{background:#ff4757}
.summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.summary-item{padding:16px}
.summary-amount{font-size:1.5rem;font-weight:bold;color:#00d4ff}
.summary-limit{font-size:.85rem;color:rgba(255,255,255,.5)}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:1000}
.modal-overlay.active{display:flex}
.modal{max-width:600px;width:90%;max-height:90vh;overflow-y:auto}
.modal-lg{max-width:95vw;width:95vw;max-height:95vh}
.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;position:relative}
.view-actions{display:flex;gap:8px;position:absolute;left:50%;transform:translateX(-50%)}
.modal-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer}
.receipt-actions{display:flex;gap:8px}
.total-banner{text-align:center;font-size:2rem;font-weight:bold;color:#00d4ff;padding:16px}
.filter-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px;align-items:center}
.filter-bar select{width:auto;margin-bottom:0}
.filter-bar .btn{margin-bottom:0;border:1px solid #00d4ff}
.select-sm{width:100px!important}
.drop-zone{border:2px dashed rgba(255,255,255,.2);border-radius:8px;padding:24px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}
.drop-zone:hover,.drop-zone.dragover{border-color:#00d4ff;background:rgba(0,212,255,.08)}
.drop-zone input[type="file"]{display:none}
.drop-zone-text{color:rgba(255,255,255,.4);font-size:.9rem}
.file-preview{max-width:100%;max-height:200px;border-radius:8px;margin-top:8px}
.nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:8px}
.nav-user{color:rgba(255,255,255,.6);font-size:.9rem}
.nav>div{display:flex;align-items:center;gap:8px}
.logo{font-size:1.2rem;font-weight:bold;color:#fff;text-decoration:none}
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='white' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
select option{background:#24243e;color:#fff}
.input-password{position:relative;margin-bottom:12px}
.input-password input{margin-bottom:0}
.toggle-password{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;opacity:.5;padding:0;color:#fff;display:flex;align-items:center}
.toggle-password:hover{opacity:1}
.toggle-password svg{display:block}
input[type="checkbox"]{width:auto;display:inline;margin-right:6px}
.input-lowercase{text-transform:lowercase}
.input-lowercase::placeholder{text-transform:none}
.text-center{text-align:center}
.btn-block{width:100%}
.table-wrap{overflow-x:auto}
.alert-fade{transition:opacity .5s;opacity:0}
.footer{position:fixed;bottom:0;left:0;right:0;text-align:center;padding:8px;font-size:.75rem;color:rgba(255,255,255,.3);background:rgba(0,0,0,.3);backdrop-filter:blur(8px);z-index:999}
.tab-bar{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:12px;flex-wrap:wrap}
.tab-btn{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.5);padding:8px 20px;border-radius:8px 8px 0 0;cursor:pointer;font-size:.9rem;transition:all .2s}
.tab-btn:hover{color:#fff;background:rgba(255,255,255,.1)}
.tab-btn.active{background:rgba(0,212,255,.15);border-color:#00d4ff;color:#00d4ff}
.tab-content{display:none}
.tab-content.active{display:block}
.sort-header{cursor:pointer;user-select:none}
.sort-header:hover{color:#00d4ff}
.sort-header::after{content:'';margin-left:4px}
.sort-asc::after{content:'▲'}
.sort-desc::after{content:'▼'}
.footer a,.change-pw-link{color:rgba(255,255,255,.4);text-decoration:none;font-size:.7rem}
.footer a:hover{color:#00d4ff}
.toast{position:fixed;top:20px;right:20px;background:rgba(46,213,115,.9);color:#fff;padding:12px 24px;border-radius:8px;font-size:.95rem;z-index:2000;animation:toastIn .4s ease,toastOut .4s ease 3s forwards;pointer-events:none}
@keyframes toastIn{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
@keyframes toastOut{from{opacity:1}to{opacity:0}}
.pagination{display:flex;justify-content:center;gap:4px;margin-top:16px;flex-wrap:wrap}
.pagination button{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.85rem}
.pagination button:hover{background:rgba(0,212,255,.15);border-color:#00d4ff}
.pagination button.active{background:rgba(0,212,255,.25);border-color:#00d4ff;color:#00d4ff}
.export-bar{display:flex;gap:6px;margin-left:auto}
@media print{body{background:#fff!important;color:#000!important}.container{max-width:100%}.glass-card{background:#fff!important;backdrop-filter:none!important;border:1px solid #ccc!important;box-shadow:none!important}.nav,.filter-bar,.modal-overlay,.footer,.btn-add,.export-bar,.receipt-actions,#bulk-delete-btn,#receipt-search,#select-all,.row-check,#pagination,.progress-fill.over{display:none!important}th,td{color:#000!important;border-bottom:1px solid #ccc!important}.progress-bar{background:#eee!important}.progress-fill{background:#333!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.toast{display:none!important}.total-banner{color:#000!important}}
.hidden{display:none}
.text-right{text-align:right}
.justify-center{justify-content:center}
.modal-sm{max-width:400px}
.mb-16{margin-bottom:16px}
.d-inline{display:inline}
.th-date{width:85px}
@media(max-width:600px){.container{padding:12px}.glass-card,.summary-item,.modal{padding:16px}table{font-size:.85rem}.summary-grid{grid-template-columns:repeat(2,1fr)}.summary-item{padding:10px}.summary-amount{font-size:1.1rem}.filter-bar{flex-direction:column}.filter-bar .btn{width:100%;text-align:center}.filter-bar select{width:100%;font-size:.85rem}.modal{width:95%}.form-row{flex-direction:column;gap:0}.total-banner{font-size:1.5rem}.tab-bar{gap:2px}.tab-btn{padding:6px 12px;font-size:.8rem}}
