*{margin:0;padding:0;box-sizing:border-box}:root{--bg-light: #ffffff;--bg-card: #f8f9fa;--bg-secondary: #e9ecef;--text: #000000;--text-muted: #6c757d;--border: #dee2e6;--accent: #000000;--success: #28a745;--danger: #dc3545;--warning: #ffc107;--primary: #000000;--shadow: rgba(0, 0, 0, .1);--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-size-xs: clamp(.75rem, .7rem + .25vw, .875rem);--font-size-sm: clamp(.875rem, .8rem + .375vw, 1rem);--font-size-base: clamp(.9375rem, .875rem + .3125vw, 1rem);--font-size-lg: clamp(1rem, .9rem + .5vw, 1.25rem);--font-size-xl: clamp(1.25rem, 1.1rem + .75vw, 1.5rem);--font-size-2xl: clamp(1.5rem, 1.3rem + 1vw, 2rem);--font-size-3xl: clamp(1.75rem, 1.5rem + 1.25vw, 2.5rem);--touch-target: 3rem;--touch-target-sm: 2.75rem}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-light);color:var(--text);min-height:100vh;overflow-x:hidden;width:100%;font-size:var(--font-size-base);line-height:1.5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app-container{display:flex;min-height:100vh;background:var(--bg-light);overflow-x:hidden;width:100%;position:relative}.sidebar{width:100%;max-width:85vw;background:var(--bg-card);border-right:1px solid var(--border);padding:var(--spacing-lg);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;overflow-y:auto;box-shadow:2px 0 10px var(--shadow);z-index:1001;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar.mobile-open{transform:translate(0)}.mobile-menu-btn{display:flex;position:fixed;bottom:var(--spacing-md);right:var(--spacing-md);z-index:1002;background:var(--bg-light);border:1px solid var(--border);border-radius:12px;padding:var(--spacing-sm);cursor:pointer;box-shadow:0 4px 12px #00000026;min-height:var(--touch-target);min-width:var(--touch-target);align-items:center;justify-content:center;transition:all .2s ease;touch-action:manipulation}.mobile-menu-btn:active{transform:scale(.95);box-shadow:0 2px 6px #0000001a}.mobile-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .3s ease}.mobile-overlay.active{opacity:1;pointer-events:all}.main-content{flex:1;margin-left:0;padding:var(--spacing-md);padding-top:calc(var(--touch-target) + var(--spacing-md) * 2);min-height:100vh;background:var(--bg-light);width:100%;max-width:100%;overflow-x:hidden}.logo{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--spacing-xs);color:var(--text);letter-spacing:-.5px}.logo-subtitle{color:var(--text-muted);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xl)}.admin-badge{display:inline-block;background:var(--text);color:var(--bg-light);padding:.25rem var(--spacing-sm);border-radius:20px;font-size:var(--font-size-xs);font-weight:600;margin-top:var(--spacing-xs)}.nav{flex:1;margin-top:var(--spacing-lg)}.nav-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:12px;color:var(--text);text-decoration:none;margin-bottom:var(--spacing-xs);transition:all .2s;cursor:pointer;border:1px solid transparent;font-weight:500;min-height:var(--touch-target-sm);touch-action:manipulation}.nav-item:hover,.nav-item:active{background:var(--bg-secondary);color:var(--text)}.nav-item.active{background:var(--text);color:var(--bg-light);border:1px solid var(--text)}.nav-item span:first-child{font-size:1.25rem;display:flex;align-items:center}.user-info{margin-top:auto;padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-top:1px solid var(--border);position:sticky;bottom:0;background:var(--bg-card);z-index:10}.user-card{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.user-avatar{width:2.75rem;height:2.75rem;border-radius:50%;background:var(--text);color:var(--bg-light);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-lg);flex-shrink:0}.user-name{font-weight:600;color:var(--text);font-size:var(--font-size-base)}.user-email{font-size:var(--font-size-sm);color:var(--text-muted)}.btn{padding:var(--spacing-md) var(--spacing-lg);border-radius:12px;font-weight:600;cursor:pointer;border:1px solid var(--border);transition:all .2s;font-size:var(--font-size-base);background:var(--bg-light);color:var(--text);min-height:var(--touch-target-sm);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn:hover,.btn:active{background:var(--bg-secondary);border-color:var(--text);transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow)}.btn-primary{background:var(--text);color:var(--bg-light);border-color:var(--text)}.btn-primary:hover,.btn-primary:active{background:#333;border-color:#333;color:var(--bg-light)}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-outline:hover,.btn-outline:active{background:var(--bg-secondary);border-color:var(--text)}.btn-success{background:var(--success);color:#fff;border-color:var(--success)}.btn-success:hover,.btn-success:active{background:#218838;border-color:#218838}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover,.btn-danger:active{background:#c82333;border-color:#c82333}.btn-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);min-height:var(--touch-target-sm)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.user-info .btn{width:100%;min-height:var(--touch-target);font-size:var(--font-size-base);font-weight:600}.card{background:var(--bg-card);border-radius:16px;border:1px solid var(--border);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:0 2px 8px var(--shadow)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;font-size:var(--font-size-sm);color:var(--text);margin-bottom:var(--spacing-xs);font-weight:500}.form-input{width:100%;padding:var(--spacing-md);background:var(--bg-light);border:1px solid var(--border);border-radius:12px;color:var(--text);font-size:16px;transition:all .2s;min-height:var(--touch-target-sm);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input:focus{outline:none;border-color:var(--text);box-shadow:0 0 0 3px #0000001a}.form-input::placeholder{color:var(--text-muted)}textarea.form-input{min-height:100px;resize:vertical;font-size:var(--font-size-base)}.grid{display:grid;gap:var(--spacing-lg)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.stat-card{background:var(--bg-light);border-radius:16px;border:1px solid var(--border);padding:var(--spacing-lg);box-shadow:0 2px 8px var(--shadow);transition:all .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px var(--shadow)}.stat-icon{width:3rem;height:3rem;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm);background:var(--bg-secondary);border:1px solid var(--border);color:var(--text)}.stat-value{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:.25rem;color:var(--text)}.stat-label{font-size:var(--font-size-sm);color:var(--text-muted)}.table-container{overflow-x:visible;margin:0;padding:0}.table-container table{display:none;width:100%;border-collapse:collapse}.table-container table th{text-align:left;padding:var(--spacing-md) var(--spacing-sm);font-weight:600;font-size:var(--font-size-sm);color:var(--text-muted);border-bottom:2px solid var(--border);background-color:var(--bg-light)}.table-container table td{text-align:left;padding:var(--spacing-md) var(--spacing-sm);border-bottom:1px solid var(--border);vertical-align:top}.table-container table tbody tr:hover{background-color:var(--bg-light);transition:background-color .2s ease}.table-container table tbody tr:last-child td{border-bottom:none}@media(min-width:768px){.table-container table{display:table!important}.table-container+.mobile-card-list{display:none!important}}.mobile-card-list{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);align-items:stretch}.mobile-card{background:var(--bg-light);border:1px solid var(--border);border-radius:12px;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);box-shadow:0 2px 8px var(--shadow);margin-bottom:var(--spacing-sm);height:100%}.mobile-card-header{display:flex;align-items:center;gap:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border)}.mobile-card-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;gap:var(--spacing-md)}.mobile-card-label{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:500;flex-shrink:0}.mobile-card-value{font-size:var(--font-size-sm);font-weight:600;color:var(--text);text-align:right;word-break:break-word}.mobile-card-actions{margin-top:auto;padding-top:var(--spacing-md);border-top:1px solid var(--border)}.mobile-card-actions .btn{width:100%;min-height:var(--touch-target-sm)}.badge{display:inline-flex;align-items:center;padding:.375rem var(--spacing-sm);border-radius:20px;font-size:var(--font-size-xs);font-weight:600;border:1px solid var(--border);background:var(--bg-light);color:var(--text)}.badge-pending{background:#fff3cd;color:#856404;border-color:#ffc107}.badge-approved,.badge-completed{background:#d4edda;color:#155724;border-color:var(--success)}.badge-rejected{background:#f8d7da;color:#721c24;border-color:var(--danger)}.badge-level-1,.badge-level-2,.badge-level-3{background:var(--bg-secondary);color:var(--text);border-color:var(--border)}.page-header{margin-bottom:var(--spacing-xl)}.page-title{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--spacing-xs);color:var(--text)}.page-subtitle{color:var(--text-muted);font-size:var(--font-size-base)}.header-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.balance-display{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,var(--bg-light) 0%,var(--bg-card) 100%);padding:var(--spacing-lg);border-radius:16px;border:1px solid var(--border);flex-wrap:wrap;gap:var(--spacing-md)}.balance-value{font-size:var(--font-size-3xl);font-weight:700;color:var(--text)}.balance-icon{width:4rem;height:4rem;border-radius:20px;background:var(--bg-secondary);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:2rem;flex-shrink:0}.message{padding:var(--spacing-md);border-radius:12px;margin-bottom:var(--spacing-lg);border:1px solid var(--border);background:var(--bg-light);color:var(--text);font-size:var(--font-size-sm)}.message-success{background:#d4edda;border-color:var(--success);color:#155724}.message-error{background:#f8d7da;border-color:var(--danger);color:#721c24}.message-info{background:#d1ecf1;border-color:#17a2b8;color:#0c5460}.empty-state{text-align:center;padding:3.75rem var(--spacing-lg)}.empty-icon{font-size:4rem;margin-bottom:var(--spacing-md);opacity:.5}.empty-text{color:var(--text-muted);font-size:var(--font-size-base)}.spinner{width:2.5rem;height:2.5rem;border:3px solid var(--border);border-top-color:var(--text);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-center{display:flex;align-items:center;justify-content:center;min-height:400px}.login-page{min-height:100vh;position:relative;overflow:hidden;background:var(--bg-light)}.animated-background{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#fff,#f8f9fa,#fff);background-size:400% 400%;animation:gradientShift 15s ease infinite;z-index:0}.animated-background:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 30%,rgba(0,0,0,.02) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(0,0,0,.02) 0%,transparent 50%),linear-gradient(45deg,transparent 30%,rgba(0,0,0,.01) 50%,transparent 70%);animation:float 20s ease-in-out infinite}.animated-background:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.01) 2px,rgba(0,0,0,.01) 4px);opacity:.3;animation:gridMove 30s linear infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(2deg)}}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.login-wrapper{display:grid;grid-template-columns:1fr;min-height:100vh;position:relative;z-index:1}.login-info-panel{display:none}.login-form-panel{display:flex;align-items:flex-start;justify-content:center;padding:var(--spacing-lg);padding-top:calc(var(--spacing-xl) + var(--touch-target));background:var(--bg-light);min-height:100vh}.login-container{width:100%;max-width:100%}.login-logo{text-align:center;margin-bottom:var(--spacing-xl)}.login-logo .logo{font-size:var(--font-size-3xl)}.login-card{background:var(--bg-light);border-radius:20px;border:1px solid var(--border);padding:var(--spacing-xl);box-shadow:0 10px 40px var(--shadow)}.login-title{font-size:var(--font-size-2xl);font-weight:700;text-align:center;margin-bottom:var(--spacing-xs);color:var(--text)}.login-subtitle{text-align:center;color:var(--text-muted);margin-bottom:var(--spacing-xl);font-size:var(--font-size-sm)}.login-footer{text-align:center;margin-top:var(--spacing-lg);color:var(--text-muted);font-size:var(--font-size-sm)}.login-footer a{color:var(--text);text-decoration:none;font-weight:600}.login-footer a:hover{text-decoration:underline}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg-light);border-radius:20px;border:1px solid var(--border);padding:var(--spacing-xl);width:100%;max-width:100%;box-shadow:0 20px 60px #0000004d}.modal-title{font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--spacing-lg);color:var(--text)}.modal-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.modal-actions .btn{width:100%}.tabs{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.tab{padding:var(--spacing-md) var(--spacing-lg);border-radius:12px;font-weight:500;cursor:pointer;background:var(--bg-card);border:1px solid var(--border);color:var(--text);transition:all .2s;min-height:var(--touch-target-sm);touch-action:manipulation}.tab:hover,.tab:active{background:var(--bg-secondary)}.tab.active{background:var(--text);color:var(--bg-light);border-color:var(--text)}.text-muted{color:var(--text-muted)}.font-mono{font-family:monospace}.font-bold{font-weight:700}.mt-4{margin-top:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-md)}.mb-6{margin-bottom:var(--spacing-xl)}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--spacing-xs)}.gap-4{gap:var(--spacing-md)}.hidden{display:none!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeIn .4s ease-out}.financial-bg{background-image:linear-gradient(135deg,rgba(0,0,0,.02) 0%,transparent 50%),url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000000' fill-opacity='0.02'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-size:60px 60px}@media(min-width:768px){:root{--spacing-md: 1.25rem;--spacing-lg: 2rem;--spacing-xl: 2.5rem}.sidebar{width:280px;max-width:none;transform:translate(0);position:fixed}.mobile-menu-btn,.mobile-overlay{display:none}.main-content{margin-left:280px;padding:var(--spacing-xl);padding-top:var(--spacing-xl)}.login-wrapper{grid-template-columns:1fr 1fr}.login-info-panel{display:flex;align-items:center;justify-content:center;padding:3.75rem;background:linear-gradient(135deg,#00000005,#0000000d);border-right:1px solid var(--border)}.login-form-panel{padding:2.5rem;align-items:center}.login-container{max-width:420px}.login-logo .logo{font-size:2.625rem}.login-card{padding:2.5rem}.login-title{font-size:1.5rem}.login-subtitle{font-size:var(--font-size-base)}.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.modal{max-width:440px;padding:2rem}.modal-actions{flex-direction:row}.modal-actions .btn{flex:1}.tabs,.header-actions{flex-wrap:nowrap}}@media(min-width:1024px){.main-content{padding:var(--spacing-2xl)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{padding:var(--spacing-xl)}.balance-display{flex-wrap:nowrap}}@media(hover:none)and (pointer:coarse){.btn,.nav-item,.tab,.form-input{min-height:var(--touch-target-sm)}.mobile-menu-btn{min-height:var(--touch-target);min-width:var(--touch-target)}.stat-card:hover{transform:none}}@media(max-width:767px){.table-container table{display:none!important}.mobile-card-list{display:grid!important;grid-template-columns:1fr;gap:var(--spacing-lg)}}@media(max-width:374px){.main-content{padding:var(--spacing-sm);padding-top:calc(var(--touch-target) + var(--spacing-sm) * 2)}.card,.mobile-card{padding:var(--spacing-md)}.login-card{padding:var(--spacing-lg)}.modal{padding:var(--spacing-lg);margin:var(--spacing-sm);max-width:calc(100% - var(--spacing-sm) * 2)}}
