@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap";:root{--bg-primary:#090a10;--bg-secondary:#121422;--bg-card:#1a1d31a6;--bg-card-hover:#242844cc;--color-gold:#dfb76c;--color-gold-hover:#f1cf90;--color-gold-light:#dfb76c26;--color-gold-border:#dfb76c4d;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--border-light:#ffffff14;--border-gold:#dfb76c40;--accent-success:#10b981;--accent-danger:#ef4444;--accent-info:#3b82f6;--accent-warning:#f59e0b;--shadow-lux:0 10px 30px -10px #000000b3, 0 1px 1px #dfb76c0d inset;--shadow-card:0 8px 32px 0 #0000005e;--shadow-glow:0 0 15px #dfb76c33;--transition-smooth:all .4s cubic-bezier(.16, 1, .3, 1);--transition-fast:all .2s ease}[data-theme=light]{--bg-primary:#f5f6fa;--bg-secondary:#fff;--bg-card:#ffffffd9;--bg-card-hover:#fffffff2;--color-gold:#b38f4d;--color-gold-hover:#cfa865;--color-gold-light:#b38f4d14;--color-gold-border:#b38f4d66;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#9ca3af;--border-light:#00000014;--border-gold:#b38f4d40;--shadow-lux:0 10px 35px -12px #b38f4d26, 0 1px 1px #fffc inset;--shadow-card:0 8px 32px 0 #0000000d;--shadow-glow:0 0 15px #b38f4d26}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);background-image:radial-gradient(circle at 10% 20%,#dfb76c05 0%,#0000 40%),radial-gradient(circle at 90% 80%,#dfb76c05 0%,#0000 40%);background-attachment:fixed;min-height:100vh;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;transition:background-color .5s,color .5s;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-gold);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--color-gold)}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:600}.luxury-title{letter-spacing:.05em;background:linear-gradient(135deg, var(--text-primary) 30%, var(--color-gold) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-family:Playfair Display,serif;font-weight:600}.luxury-gold-text{color:var(--color-gold);text-shadow:0 0 1px #dfb76c33}.luxury-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-light);border-top:1px solid var(--border-gold);box-shadow:var(--shadow-lux);transition:var(--transition-smooth);border-radius:16px;padding:24px}.luxury-card:hover{background:var(--bg-card-hover);border-top-color:var(--color-gold);box-shadow:var(--shadow-lux), var(--shadow-glow);transform:translateY(-4px)}.nav-bar{-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-gold);z-index:100;transition:var(--transition-smooth);background:#090a10cc;justify-content:space-between;align-items:center;padding:16px 32px;display:flex;position:sticky;top:0}.nav-logo{letter-spacing:.1em;color:var(--text-primary);align-items:center;gap:12px;font-family:Playfair Display,serif;font-size:24px;font-weight:700;text-decoration:none;display:flex}.nav-logo span{color:var(--color-gold)}.nav-links{gap:8px;display:flex}.nav-btn{color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:30px;align-items:center;gap:8px;padding:10px 18px;font-family:Outfit,sans-serif;font-size:15px;font-weight:500;display:flex}.nav-btn:hover{color:var(--color-gold);background:var(--color-gold-light)}.nav-btn.active{color:var(--text-primary);background:var(--color-gold-light);border:1px solid var(--border-gold)}.luxury-btn{color:#090a10;border:1px solid var(--color-gold-hover);cursor:pointer;transition:var(--transition-smooth);background:linear-gradient(135deg,#dfb76c 0%,#b38f4d 100%);border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-family:Outfit,sans-serif;font-weight:600;display:inline-flex;box-shadow:0 4px 15px #b38f4d33}.luxury-btn:hover{box-shadow:0 6px 20px #b38f4d66, var(--shadow-glow);filter:brightness(1.1);transform:translateY(-2px)}.luxury-btn:active{transform:translateY(0)}.luxury-btn-secondary{color:var(--text-primary);border:1px solid var(--border-gold);cursor:pointer;transition:var(--transition-smooth);background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-family:Outfit,sans-serif;font-weight:500;display:inline-flex}.luxury-btn-secondary:hover{background:var(--color-gold-light);border-color:var(--color-gold);color:var(--color-gold)}.luxury-input,.luxury-select,.luxury-textarea{border:1px solid var(--border-light);color:var(--text-primary);width:100%;transition:var(--transition-fast);background:#ffffff08;border-radius:10px;outline:none;padding:12px 16px;font-family:Outfit,sans-serif;font-size:15px}.luxury-input:focus,.luxury-select:focus,.luxury-textarea:focus{border-color:var(--color-gold);background:#dfb76c08;box-shadow:0 0 10px #dfb76c1a}.luxury-input::placeholder,.luxury-textarea::placeholder{color:var(--text-muted)}.form-group{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.form-label{color:var(--text-secondary);letter-spacing:.03em;text-transform:uppercase;font-size:14px;font-weight:500}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:32px;display:grid}.stat-card{composes:luxury-card;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--color-gold);width:4px;height:100%;position:absolute;top:0;left:0}.stat-card.success:before{background:var(--accent-success)}.stat-card.danger:before{background:var(--accent-danger)}.stat-card.info:before{background:var(--accent-info)}.stat-label{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;margin-bottom:6px;font-size:13px}.stat-val{color:var(--text-primary);font-size:28px;font-weight:700;line-height:1.2}.stat-sub{color:var(--text-muted);margin-top:4px;font-size:12px}.luxury-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-mep{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d}.badge-civil{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.badge-it{color:#a78bfa;background:#8b5cf626;border:1px solid #8b5cf64d}.badge-labor{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.badge-general{color:#9ca3af;background:#6b728026;border:1px solid #6b72804d}.luxury-table-container{border:1px solid var(--border-light);background:#ffffff03;border-radius:12px;overflow-x:auto}.luxury-table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.luxury-table th{border-bottom:1px solid var(--border-gold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:#ffffff05;padding:16px;font-size:12px;font-weight:600}.luxury-table td{border-bottom:1px solid var(--border-light);color:var(--text-primary);padding:16px}.luxury-table tbody tr{transition:var(--transition-fast)}.luxury-table tbody tr:hover{background:#dfb76c08}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:16px;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-gold);width:100%;max-width:550px;max-height:90vh;box-shadow:0 20px 50px #00000080, var(--shadow-glow);border-radius:20px;padding:32px;animation:.4s cubic-bezier(.16,1,.3,1) slideUp;position:relative;overflow-y:auto}.app-container{max-width:1280px;margin:0 auto;padding:32px 16px;animation:.6s fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.nav-bar{flex-direction:column;gap:12px;padding:12px 16px}.nav-links{justify-content:flex-start;width:100%;padding-bottom:4px;overflow-x:auto}.nav-btn{white-space:nowrap;padding:8px 12px;font-size:13px}.app-container{padding:16px 8px}.stats-grid{grid-template-columns:1fr 1fr;gap:12px}.stat-card{padding:16px}.stat-val{font-size:20px}}.luxury-select option{color:#e4e4e7!important;background-color:#0c0d12!important}.responsive-grid-split{grid-template-columns:1.2fr 2fr;gap:32px;display:grid}@media (width<=768px){.responsive-grid-split{grid-template-columns:1fr!important;gap:20px!important}}
