@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-color:#f2f2f7;--card-bg:#ffffffb3;--text-primary:#000;--text-secondary:#8e8e93;--accent-color:#007aff;--danger-color:#ff3b30;--success-color:#34c759;--spotify-color:#1db954;--border-radius:16px;--blur:blur(20px)}@media (prefers-color-scheme:dark){:root{--bg-color:#000;--card-bg:#1c1c1eb3;--text-primary:#fff;--text-secondary:#98989d;--accent-color:#0a84ff;--danger-color:#ff453a;--success-color:#32d74b}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);min-height:100vh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);-webkit-user-select:none;user-select:none;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;transition:background-color .3s}input,button,textarea,select{-webkit-user-select:auto;user-select:auto;font-family:inherit}.app-container{flex-direction:column;max-width:600px;min-height:100vh;margin:0 auto;padding:20px;display:flex}.header{align-items:center;gap:12px;margin-bottom:24px;padding-top:10px;display:flex}.back-btn{color:var(--accent-color);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:flex}.header h1{letter-spacing:-.5px;flex:1;font-size:34px;font-weight:700}.card{background:var(--card-bg);-webkit-backdrop-filter:var(--blur);border-radius:var(--border-radius);border:1px solid #ffffff1a;margin-bottom:16px;padding:20px;box-shadow:0 4px 24px #0000000a}@media (prefers-color-scheme:dark){.card{box-shadow:0 4px 24px #0003}}.total-card{background:linear-gradient(135deg, var(--accent-color), #5856d6);color:#fff;border:none}.total-card.customer-total-red{background:linear-gradient(135deg,#ff3b30,#ff2d55)}.total-card.customer-total-green{background:linear-gradient(135deg,#34c759,#32d74b)}.total-card .text-secondary{color:#fffc;font-size:15px}.total-amount{margin-top:8px;font-size:36px;font-weight:700}.list-group{flex-direction:column;display:flex}.list-item{cursor:pointer;border-bottom:1px solid #8e8e9333;justify-content:space-between;align-items:center;padding:16px 0;display:flex}.list-item:last-child{border-bottom:none}.card-item{background:var(--card-bg);-webkit-backdrop-filter:var(--blur);border-radius:var(--border-radius);cursor:pointer;border:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:14px 20px;transition:transform .2s;display:flex;box-shadow:0 4px 24px #0000000a}.card-item:active{transform:scale(.98)}.item-info{flex:1}.item-title{align-items:center;gap:8px;margin-bottom:4px;font-size:17px;font-weight:600;display:flex}.item-desc{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.item-amount{align-items:center;gap:12px;margin-left:16px;font-size:17px;font-weight:600;display:flex}.amount-positive{color:var(--danger-color)}.amount-negative{color:var(--success-color)}.badge{text-transform:uppercase;border-radius:4px;margin-left:6px;padding:2px 6px;font-size:11px;font-weight:600}.badge.spotify{color:var(--spotify-color);background:#1db95426}.badge.maths{color:var(--accent-color);background:#007aff26}.badge.science{color:#af52de;background:#af52de26}.badge.seneca{color:#5856d6;background:#5856d626}.badge.monthly{color:var(--accent-color);background:#007aff26}.badge.payment{color:var(--success-color);background:#34c75926}.badge.paused{color:var(--text-secondary);background:#8e8e9333}.btn-icon.pause{color:#fc0}.btn-icon.resume{color:var(--success-color)}.tabs{background:#8e8e931f;border-radius:8px;margin-bottom:16px;padding:4px;display:flex}.tab{text-align:center;cursor:pointer;color:var(--text-secondary);border-radius:6px;flex:1;padding:8px 0;font-size:14px;font-weight:600;transition:all .2s}.tab.active{background:var(--card-bg);color:var(--text-primary);box-shadow:0 1px 4px #0000001a}.fab{bottom:calc(20px + env(safe-area-inset-bottom));background-color:var(--accent-color);color:#fff;cursor:pointer;z-index:100;border:none;border-radius:28px;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .2s cubic-bezier(.175,.885,.32,1.275);display:flex;position:fixed;right:20px;box-shadow:0 8px 24px #007aff66}.fab:active{transform:scale(.9)}.fab-secondary{background-color:var(--success-color);right:86px;box-shadow:0 8px 24px #34c75966}.btn-icon{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:8px;transition:opacity .2s}.btn-icon:active{opacity:.5}.btn-icon.danger{color:var(--danger-color)}.btn-primary{background-color:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:14px;width:100%;margin-top:16px;padding:16px;font-size:17px;font-weight:600;transition:opacity .2s}.btn-primary:active{opacity:.8}.btn-success{background-color:var(--success-color)}.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;opacity:0;pointer-events:none;background-color:#0006;justify-content:center;align-items:flex-end;transition:opacity .3s;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;pointer-events:auto}.modal-content{background-color:var(--bg-color);width:100%;max-width:600px;padding:24px;padding-bottom:calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;max-height:90vh;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);overflow-y:auto;transform:translateY(100%)}.modal-overlay.open .modal-content{transform:translateY(0)}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-header h2{font-size:20px;font-weight:600}.close-btn{width:30px;height:30px;color:var(--text-primary);cursor:pointer;background:#8e8e9333;border:none;border-radius:15px;justify-content:center;align-items:center;display:flex}.form-group{margin-bottom:16px}.form-group label{color:var(--text-secondary);margin-bottom:6px;padding-left:4px;font-size:13px;display:block}.form-control{background-color:var(--card-bg);width:100%;color:var(--text-primary);appearance:none;border:1px solid #8e8e9333;border-radius:12px;outline:none;padding:14px 16px;font-size:17px;transition:border-color .2s}.form-control:focus{border-color:var(--accent-color)}.checkbox-label{cursor:pointer;align-items:center;gap:12px;padding:12px 4px;font-size:17px;display:flex}.checkbox-label input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent-color)}.empty-state{text-align:center;color:var(--text-secondary);padding:40px 20px}.empty-state svg{opacity:.5;margin-bottom:16px}.section-title{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;margin:24px 0 8px 8px;font-size:15px;font-weight:600}.lock-screen{background-color:var(--bg-color);z-index:9999;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.lock-icon{color:var(--accent-color);margin-bottom:24px}.lock-screen h1{margin-bottom:8px;font-size:24px;font-weight:600}.lock-screen p{color:var(--text-secondary);margin-bottom:32px;font-size:15px}.passcode-input{border:none;border-bottom:2px solid var(--accent-color);text-align:center;letter-spacing:8px;width:200px;color:var(--text-primary);background:0 0;outline:none;margin-bottom:24px;padding:8px;font-family:monospace;font-size:32px}.passcode-input:focus{border-bottom-color:var(--success-color)}.face-id-btn{color:var(--accent-color);cursor:pointer;background:#007aff1a;border:none;border-radius:20px;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;display:flex}.face-id-btn:active{opacity:.7}.fake-game-screen{z-index:99999;background-color:#1a1a1a;flex-direction:column;justify-content:center;align-items:center;font-family:Courier New,Courier,monospace;display:flex;position:fixed;inset:0}.game-title{color:#32d74b;letter-spacing:2px;text-shadow:2px 2px #000;-webkit-user-select:none;user-select:none;margin-bottom:20px;font-size:36px;font-weight:700}.pixel-snake-icon{filter:drop-shadow(4px 4px #000);margin-bottom:60px;font-size:80px}.game-btn{color:#fff;cursor:pointer;background-color:#333;border:2px solid #555;border-radius:8px;width:240px;margin-bottom:16px;padding:16px 32px;font-family:inherit;font-size:18px}.game-btn:active{background-color:#222;transform:translateY(2px)}.play-btn{color:#000;background-color:#32d74b;border-color:#28a745;font-weight:700}.play-btn:active{background-color:#28a745}.game-menu{flex-direction:column;align-items:center;display:flex}.game-play-area{flex-direction:column;align-items:center;width:100%;display:flex}.score-board{color:#fff;margin-bottom:20px;font-size:24px;font-weight:700}.snake-grid{background-color:#000;border:4px solid #333;flex-direction:column;margin-bottom:30px;display:flex}.grid-row{display:flex}.grid-cell{background-color:#0000;border:1px solid #ffffff0d;width:16px;height:16px}.snake-body{background-color:#28a745;border-radius:2px}.snake-head{background-color:#32d74b;border-radius:4px}.snake-food{background-color:#f44;border-radius:50%}.d-pad{flex-direction:column;align-items:center;gap:10px;margin-bottom:20px;display:flex}.d-pad-row{gap:10px;display:flex}.d-btn{color:#fff;cursor:pointer;background-color:#444;border:none;border-radius:12px;justify-content:center;align-items:center;width:60px;height:60px;font-size:24px;display:flex;box-shadow:0 4px #222}.d-btn:active{transform:translateY(4px);box-shadow:0 0 #222}.d-btn-center{width:60px;height:60px}
