@import"https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;600;700&display=swap";:root{--bg: #eef1f7;--bg-gradient: radial-gradient(1200px 800px at 8% -4%, #eef1ff 0%, transparent 55%), radial-gradient(1100px 750px at 104% 0%, #fdeef6 0%, transparent 55%), radial-gradient(900px 700px at 50% 115%, #e8f5f3 0%, transparent 60%), linear-gradient(180deg, #f4f6fb 0%, #e9edf4 100%);--surface: rgba(255, 255, 255, .62);--surface-strong: rgba(255, 255, 255, .92);--surface-border: rgba(255, 255, 255, .6);--block-shadow: 7px 7px 16px rgba(163, 177, 198, .35), -7px -7px 16px rgba(255, 255, 255, .85);--block-shadow-hover: 10px 10px 22px rgba(163, 177, 198, .45), -10px -10px 22px rgba(255, 255, 255, .95);--radius: 14px;--radius-lg: 18px;--text: #3b4252;--text-muted: #6b7280;--accent-primary: #6366f1;--accent-secondary: #a5b4fc;--accent-glow: 0 0 0 4px rgba(99, 102, 241, .16);--accent-rgb: 99, 102, 241;--accent-ink: #ffffff;--primary: #6366f1;--primary-hover: #4f46e5;--danger: #ef4444;--danger-rgb: 239, 68, 68;--success: #22a06b;--warning: #f59e0b;--font-family: "Rubik", "Segoe UI", Tahoma, sans-serif;--btn-gradient: linear-gradient(135deg, #818cf8 0%, #6366f1 60%, #4f46e5 100%);--btn-gradient-hover: linear-gradient(135deg, #929dff 0%, #7873f7 60%, #5b52ec 100%);--blur: 22px}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:var(--font-family);line-height:1.6;color:var(--text);text-shadow:none;background:var(--bg);background-image:var(--bg-gradient);background-attachment:fixed;min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}h1,h2,h3,h4{color:var(--text)}a{color:var(--accent-primary);text-decoration:none}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem;color:var(--text-muted)}.spinner{width:50px;height:50px;border:4px solid var(--surface-border);border-top-color:var(--accent-primary);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.navbar,.header{background:var(--surface);border-bottom:3px solid var(--surface-border);padding:.75rem 2rem;display:flex;align-items:center;position:sticky;top:0;z-index:100}.navbar-brand{font-size:1.5rem;font-weight:700;text-decoration:none;color:var(--accent-primary);margin-right:2rem}.navbar-menu,.header nav{display:flex;gap:1.25rem;align-items:center}.navbar-menu a,.header nav a{color:var(--text-muted);text-decoration:none;font-weight:500;padding:.25rem .5rem;border:2px solid transparent;transition:color .15s,border-color .15s}.navbar-menu a:hover,.header nav a:hover,.navbar-menu a.active,.header nav a.active{color:var(--accent-primary);border-color:var(--accent-primary)}.header-right{display:flex;align-items:center;gap:1.25rem;margin-left:auto}.user-name{color:var(--text-muted);white-space:nowrap;font-size:.9rem}.logout-btn,.login-btn{padding:.45rem 1rem;background:var(--surface-strong);color:var(--text);border:2px solid var(--surface-border);cursor:pointer;text-decoration:none;font:inherit;font-weight:500;transition:border-color .15s,box-shadow .15s}.logout-btn:hover,.login-btn:hover{border-color:var(--accent-primary);box-shadow:var(--accent-glow)}.footer{background:var(--surface);color:var(--text-muted);padding:2rem 2rem 1.5rem;margin-top:auto;border-top:3px solid var(--surface-border);text-align:center;font-size:.85rem}.container{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.page-title{font-size:2rem;margin-bottom:.5rem}.page-subtitle{color:var(--text-muted);margin-bottom:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2.5rem}.stat-card{padding:1.25rem 1.5rem;background:var(--surface);border:2px solid var(--surface-border);box-shadow:var(--block-shadow);transition:box-shadow .15s,border-color .15s,transform .15s}.stat-card:hover{transform:translateY(-3px);border-color:var(--accent-primary);box-shadow:var(--block-shadow-hover)}.stat-label{color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem}.stat-value{font-size:1.9rem;font-weight:700;color:var(--accent-primary)}.section{margin-bottom:2.5rem}.panel{background:var(--surface);border:2px solid var(--surface-border);box-shadow:var(--block-shadow);padding:1.5rem;margin-bottom:1.5rem}.panel h2{font-size:1.3rem;margin-bottom:1rem;border-left:4px solid var(--accent-primary);padding-left:.75rem}.table-wrap{overflow-x:auto;background:var(--surface);border:2px solid var(--surface-border);box-shadow:var(--block-shadow)}table.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.75rem 1rem;border-bottom:2px solid var(--surface-border);text-align:left;vertical-align:middle}.table th{color:var(--accent-primary);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;background:var(--surface-strong);white-space:nowrap}.table tbody tr{transition:background .12s}.table tbody tr:hover{background:var(--surface-strong)}.table td{color:var(--text);font-size:.92rem}.table .actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.status-badge{display:inline-block;padding:.25rem .6rem;font-size:.75rem;font-weight:600;text-transform:capitalize;background:var(--surface-strong);color:var(--text-muted);border:2px solid var(--surface-border);white-space:nowrap}.status-badge.status--approved,.status-badge.status--completed,.status-badge.status--paid,.status-badge.status--fulfilled,.status-badge.status--active{color:var(--success);border-color:var(--success)}.status-badge.status--pending{color:var(--warning);border-color:var(--warning)}.status-badge.status--rejected,.status-badge.status--hidden,.status-badge.status--cancelled,.status-badge.status--denied{color:var(--danger);border-color:var(--danger)}.btn{padding:.5rem 1rem;background:var(--surface-strong);color:var(--text);border:2px solid var(--surface-border);cursor:pointer;font:inherit;font-weight:600;text-decoration:none;display:inline-block;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}.btn:hover:not(:disabled){background:var(--surface);border-color:var(--accent-primary);box-shadow:var(--block-shadow)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:var(--block-shadow)}.btn--primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn--secondary{background:var(--surface-strong);color:var(--text)}.btn--danger{border-color:var(--danger);color:var(--danger)}.btn--danger:hover:not(:disabled){background:var(--danger);color:#fff;border-color:var(--danger)}.btn--outline{background:transparent}.btn--sm{padding:.3rem .7rem;font-size:.8rem}.btn--lg{padding:.75rem 1.5rem;font-size:1.05rem}.form{display:flex;flex-direction:column;gap:1rem;max-width:720px}.form-row{display:flex;flex-direction:column;gap:.4rem}.form-row label{color:var(--text-muted);font-size:.85rem;font-weight:600}input,select,textarea{background:var(--surface-strong);color:var(--text);border:2px solid var(--surface-border);padding:.55rem .75rem;font:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--block-shadow)}textarea{resize:vertical;min-height:120px}.input-wrapper{display:flex;flex-direction:column;gap:.4rem}.input-label{color:var(--text-muted);font-size:.85rem;font-weight:600}.input-error{color:var(--danger);font-size:.8rem}input.input--error,select.input--error,textarea.input--error{border-color:var(--danger)}.form-actions{display:flex;gap:.75rem;margin-top:.5rem}.form-error{color:var(--danger);padding:.6rem .75rem;background:#ef44441a;border:2px solid var(--danger)}.toolbar{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-bottom:1.5rem}.toolbar input[type=search],.toolbar input[type=text]{flex:1;min-width:200px}.toolbar select{min-width:150px}.empty-state{text-align:center;color:var(--text-muted);padding:3rem 1rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.login{max-width:420px;margin:4rem auto;padding:2.5rem 2rem;background:var(--surface);border:3px solid var(--surface-border);box-shadow:var(--block-shadow);text-align:center}.login h1{margin-bottom:.5rem}.login p{color:var(--text-muted);margin-bottom:1.75rem}.login .btn--lg{width:100%}.error-message{color:var(--danger);margin-bottom:1rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:300;padding:1rem}.modal{background:var(--surface);border:3px solid var(--surface-border);box-shadow:var(--block-shadow-hover);width:100%;max-width:560px;max-height:85vh;overflow-y:auto;padding:1.5rem}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.modal-header h3{font-size:1.15rem}.modal-close{background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;line-height:1}.modal-close:hover{color:var(--danger)}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem}.pagination{display:flex;gap:.5rem;align-items:center;justify-content:center;margin-top:1.5rem}.pagination-info{color:var(--text-muted);font-size:.85rem;margin:0 .75rem}.rejection-note{color:var(--danger);font-size:.8rem;border:2px solid var(--danger);background:#ef444414;padding:.4rem .6rem;margin-top:.4rem}.revenue-chart{display:flex;align-items:flex-end;gap:4px;height:200px;margin-top:1rem}.revenue-bar{flex:1;background:var(--surface-strong);border:2px solid var(--surface-border);min-width:4px;position:relative}.revenue-bar:hover{background:var(--accent-primary);border-color:var(--accent-primary)}@media(max-width:768px){.navbar,.header{flex-wrap:wrap;gap:.75rem;padding:.75rem 1rem}.header-right{margin-left:0}.stats-grid{grid-template-columns:1fr}}h1,h2,h3,h4{text-shadow:none}.navbar,.header{background:#ffffff8c;border-bottom:1px solid rgba(255,255,255,.5);backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur))}.navbar-brand{color:var(--accent-primary);text-shadow:none}.navbar-menu a,.header nav a{color:var(--text-muted);border-bottom:1px solid transparent}.navbar-menu a:hover,.header nav a:hover,.navbar-menu a.active,.header nav a.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.logout-btn,.login-btn{background:linear-gradient(145deg,#ffffffeb,#edf1f9e0);border:1px solid rgba(255,255,255,.72);color:var(--text);border-radius:var(--radius);box-shadow:6px 6px 12px #a3b1c659,-6px -6px 12px #ffffffe6}.logout-btn:hover,.login-btn:hover{color:var(--accent-primary);border-color:rgba(var(--accent-rgb),.35);box-shadow:8px 8px 16px #a3b1c673,-8px -8px 16px #fffffff2,0 0 0 3px rgba(var(--accent-rgb),.12)}.footer{background:#ffffff8c;border-top:1px solid rgba(255,255,255,.5);backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur))}.panel,.stat-card{background:var(--surface);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-lg);box-shadow:var(--block-shadow);backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur))}.panel h2{border-left:2px solid var(--accent-primary)}.stat-card:hover{transform:translateY(-3px);border-color:rgba(var(--accent-rgb),.35);box-shadow:var(--block-shadow-hover)}.stat-value{color:var(--accent-primary);text-shadow:none}.stat-value.success{color:var(--success)}.stat-value.warning{color:var(--warning)}.table-wrap{background:var(--surface);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-lg);box-shadow:var(--block-shadow);backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur))}.table th{background:linear-gradient(145deg,#ffffffd9,#f0f4fab3);color:var(--accent-primary);font-size:.78rem;letter-spacing:.08em}.table th,.table td{border-bottom:1px solid rgba(163,177,198,.2)}.table tbody tr:hover{background:#ffffffb3}.status-badge{background:var(--surface-strong);border:1px solid var(--surface-border);border-radius:var(--radius);color:var(--text-muted)}.btn{background:linear-gradient(145deg,#ffffffeb,#edf1f9e0);border:1px solid rgba(255,255,255,.72);color:var(--text);border-radius:var(--radius);box-shadow:6px 6px 12px #a3b1c659,-6px -6px 12px #ffffffe6}.btn:hover:not(:disabled){color:var(--accent-primary);border-color:rgba(var(--accent-rgb),.35);box-shadow:8px 8px 16px #a3b1c673,-8px -8px 16px #fffffff2,0 0 0 3px rgba(var(--accent-rgb),.12)}.btn:disabled{background:#e2e8f099;border-color:#a3b1c666;color:var(--text-muted);opacity:1;cursor:not-allowed}.btn--primary{background:var(--btn-gradient);border:1px solid var(--accent-primary);color:var(--accent-ink);box-shadow:0 0 6px rgba(var(--accent-rgb),.18)}.btn--primary:hover:not(:disabled){background:var(--btn-gradient-hover);border-color:var(--accent-primary);color:var(--accent-ink);box-shadow:0 0 0 .2rem rgba(var(--accent-rgb),.22)}.btn--secondary{background:#ffffff8c;color:var(--text)}.btn--danger{background:linear-gradient(145deg,#ffffffeb,#edf1f9e0);border:1px solid var(--danger);color:var(--danger)}.btn--danger:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:#fff;box-shadow:0 0 0 .2rem rgba(var(--danger-rgb),.2)}.btn--outline{background:#fff6}input,select,textarea{background:#ffffffb3;border:1px solid rgba(255,255,255,.72);border-radius:var(--radius);box-shadow:inset 2px 2px 5px #a3b1c629,inset -2px -2px 5px #ffffffe6}input:focus,select:focus,textarea:focus,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent-primary);background:#ffffffd1;box-shadow:inset 2px 2px 5px #a3b1c61a,inset -2px -2px 5px #ffffffeb,0 0 0 .2rem rgba(var(--accent-rgb),.18)}input::placeholder,textarea::placeholder{color:#6b7280a6}.login{background:var(--surface);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-lg);box-shadow:var(--block-shadow);backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur))}.modal-overlay{background:#1e293b59;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:#ffffffeb;border:1px solid rgba(255,255,255,.75);border-radius:var(--radius-lg);box-shadow:var(--block-shadow-hover);backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur))}.modal-close:hover{color:var(--danger);text-shadow:none}.pagination button{background:linear-gradient(145deg,#ffffffeb,#edf1f9e0);border:1px solid rgba(255,255,255,.72);color:var(--text);cursor:pointer;font:inherit;padding:.45rem .8rem;border-radius:var(--radius);box-shadow:4px 4px 8px #a3b1c64d,-4px -4px 8px #ffffffd9}.pagination button:hover:not(:disabled){color:var(--accent-primary);border-color:rgba(var(--accent-rgb),.35);box-shadow:6px 6px 10px #a3b1c666,-6px -6px 10px #ffffffe6,0 0 0 3px rgba(var(--accent-rgb),.12)}.pagination button:disabled{border-color:#a3b1c666;color:var(--text-muted);box-shadow:none;cursor:default}.pagination button.active{background:var(--btn-gradient);color:var(--accent-ink);border-color:var(--accent-primary)}.rejection-note,.form-error{background:#ef444414;border:1px solid var(--danger);border-radius:var(--radius);color:var(--danger)}.revenue-bar{background:linear-gradient(to bottom,rgba(var(--accent-rgb),.05),rgba(var(--accent-rgb),.15));border:1px solid rgba(var(--accent-rgb),.28);border-radius:6px 6px 0 0}.revenue-bar:hover{background:var(--btn-gradient);border-color:var(--accent-primary)}::selection{background:rgba(var(--accent-rgb),.22);color:var(--text)}
