*{margin:0;padding:0}body,#root{min-height:100vh}*{box-sizing:border-box}:root{--dark:#1a1a1a;--dark-2:#2b2b2b;--grey-light:#f0f0f0;--grey-mid:#d9d9d9;--grey-border:#cfcfcf}body{color:#1a1a1a;margin:0;font-family:Segoe UI,Arial,sans-serif}.login-page{background-image:url(/images/login-bg.jpg);background-position:50%;background-size:cover;justify-content:center;align-items:center;height:100vh;display:flex;position:relative}.login-page:before{content:"";background:#14141440;position:absolute;inset:0}.login-card{z-index:1;-webkit-backdrop-filter:blur(10px);text-align:center;background:#ffffff24;border:1px solid #ffffff59;border-radius:10px;width:320px;padding:40px;position:relative;box-shadow:0 4px 24px #0006}.login-card h1{color:#fff;text-shadow:0 1px 4px #0009;margin:0 0 4px;font-size:22px}.login-card h2{color:#f0f0f0;text-shadow:0 1px 4px #0009;margin:0 0 24px;font-size:16px;font-weight:400}.login-card label{text-align:left;color:#f0f0f0;text-shadow:0 1px 3px #0009;margin-bottom:4px;font-size:13px;display:block}.login-card input{background:#ffffffd9;border:1px solid #ffffff80;border-radius:6px;width:100%;margin-bottom:16px;padding:10px;font-size:14px}.login-card button{background-color:var(--dark);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;padding:10px;font-size:15px}.login-card button:disabled{opacity:.6;cursor:not-allowed}.error-text{color:#c62828;margin:-8px 0 12px;font-size:13px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-content{background-color:#f0f0f0;flex:1;padding:32px;position:relative;overflow:hidden}.app-content:before{content:"";z-index:0;background-image:url(/images/app-bg.png);background-position:50%;background-repeat:no-repeat;background-size:700px;width:700px;height:700px;position:absolute;top:50%;left:calc(50% + 120px);transform:translate(-50%,-50%);-webkit-mask-image:radial-gradient(closest-side,#000 55%,#0000 100%);mask-image:radial-gradient(closest-side,#000 55%,#0000 100%)}.app-content:after{content:"";z-index:1;background:#f0f0f059;position:absolute;inset:0}.app-content>*{z-index:2;position:relative}.page-title{color:var(--dark);margin:0 0 20px}.navbar{background:var(--dark);flex-shrink:0;justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex}.navbar-brand{color:#fff;cursor:pointer;white-space:nowrap;font-size:18px;font-weight:700}.navbar-tabs{flex:1;justify-content:center;gap:4px;display:flex}.navbar-tab{color:var(--grey-mid);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:10px 18px;font-size:14px}.navbar-tab:hover{background:var(--dark-2);color:#fff}.navbar-tab.active{background:var(--grey-light);color:var(--dark);font-weight:600}.navbar-user{color:var(--grey-mid);white-space:nowrap;align-items:center;gap:14px;font-size:13px;display:flex}.navbar-user button{background:var(--grey-light);color:var(--dark);cursor:pointer;border:none;border-radius:5px;padding:6px 14px}.tile-grid{flex-wrap:wrap;gap:20px;display:flex}.tile{-webkit-backdrop-filter:blur(2px);cursor:pointer;background:0 0;border:1px solid #00000026;border-radius:10px;width:220px;padding:24px;transition:transform .15s}.tile:hover{transform:translateY(-3px)}.tile.disabled{opacity:.5;cursor:not-allowed}.tile h3{color:var(--dark);margin:0 0 8px}.tile p{color:#666;margin:0;font-size:13px}.back-btn{border:1px solid var(--dark);color:var(--dark);cursor:pointer;background:0 0;border-radius:5px;padding:6px 12px}.tabs{gap:4px;margin-bottom:0;display:flex}.tab{background:var(--grey-mid);cursor:pointer;color:#333;border:none;border-radius:6px 6px 0 0;padding:10px 24px;font-size:14px}.tab.active{color:var(--dark);background:#ffffffd9;font-weight:700}.tab-content{background:#fff;border-radius:0 0 10px 10px;padding:24px 32px;box-shadow:0 2px 8px #00000014}.tab-content.reports-content{-webkit-backdrop-filter:blur(2px);box-shadow:none;background:0 0}.tab-content.reports-content .entry-form{border-bottom-color:#0000001f}.entry-form{border-bottom:1px solid #eee;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:24px;padding-bottom:20px;display:flex}.form-row{flex-direction:column;min-width:160px;display:flex}.form-row label{color:#555;margin-bottom:4px;font-size:12px}.form-row input,.form-row select{border:1px solid var(--grey-border);border-radius:5px;padding:8px;font-size:14px}.entry-form button{background-color:var(--dark);color:#fff;cursor:pointer;border:none;border-radius:6px;height:38px;padding:0 20px}.hint-text{color:#666;width:100%;margin:-8px 0 8px;font-size:13px}.export-btn{background-color:var(--dark);color:#fff;cursor:pointer;border:none;border-radius:6px;height:38px;padding:0 20px;font-size:14px}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th,.data-table td{text-align:left;border:1px solid #e0e0e0;padding:8px 12px}.data-table th{background:var(--grey-light)}.invoice-page{background:var(--grey-light);flex-direction:column;align-items:center;min-height:100vh;padding:32px;display:flex}.invoice-actions{justify-content:space-between;width:100%;max-width:700px;margin-bottom:16px;display:flex}.print-btn{background-color:var(--dark);color:#fff;cursor:pointer;border:none;border-radius:5px;padding:8px 16px}.invoice-sheet{background:#fff;border-radius:8px;width:100%;max-width:700px;padding:40px;box-shadow:0 2px 10px #0000001a}.invoice-header{text-align:center;border-bottom:2px solid var(--dark);margin-bottom:20px;padding-bottom:12px}.invoice-header h1{color:var(--dark);margin:0;font-size:26px}.invoice-subtitle{color:#666;letter-spacing:2px;text-transform:uppercase;margin:4px 0 0;font-size:13px}.invoice-meta{justify-content:space-between;margin-bottom:8px;font-size:14px;display:flex}.invoice-table{border-collapse:collapse;width:100%;margin:20px 0;font-size:14px}.invoice-table th,.invoice-table td{text-align:left;border:1px solid #ddd;padding:10px}.invoice-table th{background:var(--dark);color:#fff}.invoice-totals{width:260px;margin-left:auto;font-size:14px}.invoice-totals div{justify-content:space-between;padding:6px 0;display:flex}.invoice-totals .grand-total{border-top:2px solid var(--dark);margin-top:6px;font-size:16px;font-weight:700}.invoice-footer{text-align:center;color:#888;margin-top:30px;font-size:12px}.modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:#fff;border-radius:10px;width:380px;max-width:90vw;padding:28px;box-shadow:0 4px 20px #0000004d}.modal-box h3{color:var(--dark);margin:0 0 16px}.modal-table{width:100%;margin-bottom:20px}.modal-table td{border-bottom:1px solid #eee;padding:6px 0;font-size:14px}.modal-label{color:#666;width:45%}.modal-value{color:#1a1a1a;font-weight:600}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.modal-cancel{background:var(--grey-mid);color:#333;cursor:pointer;border:none;border-radius:6px;padding:8px 16px}.modal-confirm{background:var(--dark);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 16px}@media print{body{background:#fff}.no-print{display:none!important}.invoice-sheet{box-shadow:none;padding:0}body:has(.modal-overlay) *{visibility:hidden}:is(body:has(.modal-overlay) .modal-box,body:has(.modal-overlay) .modal-box *){visibility:visible}body:has(.modal-overlay) .modal-box{width:100%;box-shadow:none;position:absolute;top:0;left:0}}
