@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--primary-color:#2563eb;--primary-hover:#1d4ed8;--primary-glow:#2563eb33;--primary-light:#2563eb14;--accent-color:#0ea5e9;--accent-secondary:#10b981;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--bg-glass:#ffffffbf;--bg-glass-hover:#ffffffe6;--border-color:#e2e8f0;--border-glow:#6366f14d;--success:#10b981;--success-bg:#10b98114;--warning:#f59e0b;--warning-bg:#f59e0b14;--danger:#ef4444;--danger-bg:#ef444414;--info:#3b82f6;--info-bg:#3b82f614;--font-family:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 12px 40px #00000014;--shadow-glass:0 4px 24px #0000000a;--shadow-glow:0 4px 20px #6366f126;--shadow-glow-sm:0 2px 10px #6366f11a}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-family);background:var(--bg-secondary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6;overflow-x:hidden}.glass-panel{background:var(--bg-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:var(--radius-lg);transition:border-color .3s,box-shadow .3s,transform .3s}.glass-panel:hover{box-shadow:var(--shadow-md)}.stat-card{border-radius:var(--radius-lg);background:var(--bg-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:1.5rem;transition:all .3s;position:relative;overflow:hidden}.stat-card:before{content:"";background:radial-gradient(circle, var(--primary-light), transparent 70%);opacity:.6;border-radius:50%;width:100px;height:100px;transition:opacity .3s;position:absolute;top:0;right:0;transform:translate(30%,-30%)}.stat-card:hover{box-shadow:var(--shadow-glow);border-color:var(--border-glow);transform:translateY(-3px)}.stat-card:hover:before{opacity:1}.stat-card .stat-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:1rem;display:flex}.stat-card .stat-value{letter-spacing:-.02em;color:var(--text-primary);font-size:2rem;font-weight:800;line-height:1.2}.stat-card .stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.75rem;font-size:.75rem;font-weight:600}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.btn{border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);letter-spacing:.01em;justify-content:center;align-items:center;padding:.6rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .25s;display:inline-flex}.btn:hover{background:var(--bg-tertiary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#3b82f6 100%);border:none;box-shadow:0 2px 8px #2563eb40}.btn-primary:hover{background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 100%);transform:translateY(-2px);box-shadow:0 4px 16px #2563eb59}.input-group{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.input-label{color:var(--text-secondary);letter-spacing:.02em;font-size:.8rem;font-weight:600}.input-field{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);width:100%;padding:.65rem .85rem;font-family:inherit;font-size:.9rem;transition:border-color .25s,box-shadow .25s}.input-field:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.input-field::placeholder{color:var(--text-muted)}.badge{border-radius:var(--radius-full);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.7rem;font-weight:700;display:inline-flex}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--info-bg);color:var(--info)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes glow-pulse{0%,to{box-shadow:0 4px 14px #6366f133}50%{box-shadow:0 4px 24px #6366f159}}.animate-fade-in{animation:.45s ease-out forwards fadeIn}.animate-fade-up{animation:.5s ease-out forwards fadeInUp}.animate-slide-in{animation:.4s ease-out forwards slideInRight}.animate-float{animation:3s ease-in-out infinite float}.animate-glow{animation:2s ease-in-out infinite glow-pulse}.spinner{border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.skeleton{background:linear-gradient(90deg, var(--bg-tertiary) 25%, var(--bg-secondary) 50%, var(--bg-tertiary) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite shimmer}.layout-wrapper{min-height:100vh;display:flex}.sidebar{background:var(--bg-primary);border-right:1px solid var(--border-color);z-index:50;flex-direction:column;width:270px;padding:1.5rem;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.sidebar-link{border-radius:var(--radius-md);color:var(--text-secondary);align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .25s;display:flex}.sidebar-link:hover{color:var(--primary-color);background:var(--primary-light)}.sidebar-link.active{color:#fff;background:linear-gradient(135deg,#2563eb,#3b82f6);font-weight:600;box-shadow:0 2px 10px #2563eb40}.main-content{background:var(--bg-secondary);flex:1;max-width:100vw;padding:2rem;overflow-y:auto}.mobile-nav-toggle{display:none}.mobile-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:40;background:#0000004d;display:none;position:fixed;inset:0}table{border-collapse:collapse;text-align:left;width:100%}table thead th{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-color);padding:.85rem 1rem;font-size:.75rem;font-weight:700}table tbody tr{border-bottom:1px solid var(--border-color);transition:background-color .2s}table tbody tr:hover{background-color:var(--primary-light)}table tbody td{padding:.85rem 1rem;font-size:.875rem}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}@media (width<=768px){.layout-wrapper{flex-direction:column}.sidebar{z-index:50;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.mobile-overlay.open{display:block}.mobile-nav-toggle{background:var(--bg-primary);border-bottom:1px solid var(--border-color);z-index:30;--mobile-close-display:block;align-items:center;padding:.75rem 1rem;display:flex;position:sticky;top:0}.main-content{padding:.75rem}.flex-between{flex-direction:column;align-items:stretch;gap:.75rem}.animate-fade-in h1{font-size:1.35rem!important}.animate-fade-in header p{font-size:.8rem!important}.stat-card{padding:1rem 1.1rem}.stat-card .stat-value{font-size:1.5rem}.stat-card .stat-icon{width:36px;height:36px;margin-bottom:.65rem}.btn{padding:.55rem 1rem;font-size:.8rem}.btn-primary{justify-content:center;width:100%}.glass-panel{border-radius:var(--radius-md);padding:.75rem!important}table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}table thead{display:none}table tbody{flex-direction:column;gap:.5rem;display:flex}table tbody tr{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);border-bottom:none;flex-wrap:wrap;gap:.25rem .75rem;padding:.85rem;display:flex;position:relative}table tbody tr:hover{background:var(--bg-tertiary)}table tbody td{white-space:normal;border:none!important;padding:0!important;font-size:.82rem!important}table tbody td:last-child{width:100%;margin-top:.5rem;border-top:1px solid var(--border-color)!important;justify-content:flex-start!important;padding-top:.5rem!important}.mobile-tabs-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.5rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.mobile-tabs-scroll::-webkit-scrollbar{display:none}.mobile-tabs-scroll .btn{white-space:nowrap;flex-shrink:0;width:auto;padding:.45rem .85rem;font-size:.75rem}div[style*="position: fixed"][style*="inset: 0"]>.glass-panel{border-radius:var(--radius-lg)!important;max-width:100%!important;max-height:calc(100vh - 1rem)!important;margin:.5rem!important}.dashboard-chart-grid{grid-template-columns:1fr!important}}@media (width<=400px){.main-content{padding:.5rem}.stat-card .stat-value{font-size:1.25rem}.stat-card .stat-label{font-size:.65rem}.btn{padding:.5rem .75rem;font-size:.75rem}}.print-only{display:none!important}@media print{.sidebar,.mobile-nav-toggle,.mobile-overlay,.print-hide,button,.btn,select{display:none!important}.main-content{background:#fff!important;width:100%!important;margin:0!important;padding:0!important}.glass-panel{box-shadow:none!important;border:none!important}.print-only{display:block!important}table{width:100%!important;display:table!important}table thead{display:table-header-group!important}table tbody{display:table-row-group!important}table tr{display:table-row!important}table td,table th{padding:.5rem!important;font-size:.85rem!important;display:table-cell!important}:is(body:has(#print-invoice:not([style*="display: none"])) .main-content>:not(#print-invoice),body:has(#print-surat-jalan) .main-content>:not(#print-surat-jalan)){display:none!important}@page{margin:1cm}}
