:root{--primary:#0284c7;--primary-hover:#0369a1;--primary-light:#e0f2fe;--primary-glow:#0284c740;--secondary:#0d9488;--secondary-hover:#0f766e;--secondary-light:#ccfbf1;--accent:#6366f1;--accent-light:#e0e7ff;--success:#059669;--success-light:#d1fae5;--warning:#d97706;--warning-light:#fef3c7;--danger:#dc2626;--danger-light:#fee2e2;--bg-app:#f8fafc;--bg-card:#fff;--bg-card-subtle:#f1f5f9;--bg-input:#fff;--border-subtle:#e2e8f0;--border-strong:#cbd5e1;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-on-primary:#fff;--font-heading:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", monospace;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000000a;--glass-bg:#ffffffd9;--glass-border:#fff9;--backdrop-blur:blur(12px);--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--header-height:64px;--bottom-nav-height:68px;--sidebar-width:260px;--content-max-width:1200px}[data-theme=dark]{--primary:#38bdf8;--primary-hover:#0284c7;--primary-light:#38bdf826;--primary-glow:#38bdf859;--secondary:#2dd4bf;--secondary-hover:#0d9488;--secondary-light:#2dd4bf26;--bg-app:#090d16;--bg-card:#131b2e;--bg-card-subtle:#1c2742;--bg-input:#101728;--border-subtle:#233252;--border-strong:#33446b;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-on-primary:#090d16;--shadow-sm:0 1px 2px 0 #00000080;--shadow-md:0 4px 6px -1px #0009;--shadow-lg:0 10px 15px -3px #000000b3;--shadow-xl:0 20px 25px -5px #000c;--glass-bg:#131b2ed9;--glass-border:#23325299}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{min-height:100%;font-family:var(--font-body);color:var(--text-primary);background-color:var(--bg-app);background-image:radial-gradient(at 0 0,#0284c70d 0,#0000 50%),radial-gradient(at 100% 100%,#0d94880d 0,#0000 50%);background-attachment:fixed;font-size:15px;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--text-primary);font-weight:700}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.app-container{min-height:100vh;display:flex;position:relative}.main-layout{min-width:0;padding-bottom:calc(var(--bottom-nav-height) + 24px);flex-direction:column;flex:1;display:flex}@media (width>=1024px){.main-layout{margin-left:var(--sidebar-width);padding-bottom:40px}}.content-wrapper{max-width:var(--content-max-width);width:100%;margin:0 auto;padding:20px 16px}@media (width>=768px){.content-wrapper{padding:28px 32px}}.app-header{z-index:40;height:var(--header-height);background:var(--glass-bg);-webkit-backdrop-filter:var(--backdrop-blur);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:0 16px;transition:all .2s;display:flex;position:sticky;top:0}@media (width>=768px){.app-header{padding:0 32px}}.card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);padding:20px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-glass{background:var(--glass-bg);-webkit-backdrop-filter:var(--backdrop-blur);border:1px solid var(--glass-border)}.btn{border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .18s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, #0274b3 100%);color:#fff;box-shadow:0 4px 12px var(--primary-glow)}.btn-primary:hover{background:linear-gradient(135deg, var(--primary-hover) 0%, #02669e 100%);box-shadow:0 6px 16px var(--primary-glow)}.btn-secondary{background:linear-gradient(135deg, var(--secondary) 0%, #0f766e 100%);color:#fff}.btn-outline{border-color:var(--border-strong);color:var(--text-primary);background:0 0}.btn-outline:hover{background:var(--bg-card-subtle);border-color:var(--primary);color:var(--primary)}.btn-subtle{background:var(--bg-card-subtle);color:var(--text-secondary)}.btn-subtle:hover{background:var(--border-subtle);color:var(--text-primary)}.btn-danger{background:var(--danger);color:#fff}.btn-sm{border-radius:var(--radius-sm);padding:6px 12px;font-size:13px}.btn-lg{border-radius:var(--radius-lg);padding:14px 24px;font-size:16px}.badge{border-radius:var(--radius-full);letter-spacing:.01em;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-primary{background:var(--primary-light);color:var(--primary)}.badge-secondary{background:var(--secondary-light);color:var(--secondary)}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-neutral{background:var(--bg-card-subtle);color:var(--text-secondary)}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-label{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.form-control{background:var(--bg-input);border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-primary);outline:none;padding:11px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.form-control::placeholder{color:var(--text-muted)}textarea.form-control{resize:vertical;min-height:90px;line-height:1.6}.bottom-nav{height:var(--bottom-nav-height);background:var(--glass-bg);-webkit-backdrop-filter:var(--backdrop-blur);border-top:1px solid var(--border-subtle);z-index:50;justify-content:space-around;align-items:center;padding:6px 12px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #0000000d}@media (width>=1024px){.bottom-nav{display:none}}.bottom-nav-item{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 10px;font-size:11px;font-weight:600;transition:all .2s;display:flex}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-item.add-btn{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;border-radius:var(--radius-full);width:52px;height:52px;box-shadow:0 8px 20px var(--primary-glow);border:3px solid var(--bg-card);justify-content:center;align-items:center;margin-top:-24px;display:flex}.desktop-sidebar{display:none}@media (width>=1024px){.desktop-sidebar{width:var(--sidebar-width);background:var(--bg-card);border-right:1px solid var(--border-subtle);z-index:45;flex-direction:column;padding:20px 16px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}}.nav-link-item{border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;align-items:center;gap:12px;margin-bottom:4px;padding:10px 14px;font-size:14px;font-weight:600;transition:all .18s;display:flex}.nav-link-item:hover{background:var(--bg-card-subtle);color:var(--text-primary)}.nav-link-item.active{background:var(--primary-light);color:var(--primary)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:100;background:#0f172aa6;justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);box-shadow:var(--shadow-xl);width:100%;max-width:640px;max-height:90vh;animation:.25s cubic-bezier(.16,1,.3,1) scaleUp;position:relative;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.96)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.chip{background:var(--bg-card-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.chip:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.toast-container{z-index:110;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:80px;right:20px}@media (width>=1024px){.toast-container{bottom:24px;right:24px}}.toast{pointer-events:auto;background:var(--text-primary);color:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);align-items:center;gap:10px;padding:12px 18px;font-size:14px;font-weight:600;animation:.3s slideInRight;display:flex}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media print{@page{size:A4 portrait;margin:15mm}body{color:#000!important;background:#fff!important;font-size:11pt!important}.no-print,.app-header,.desktop-sidebar,.bottom-nav,.toast-container,.quick-action-bar,.btn,.privacy-banner{display:none!important}.main-layout{margin:0!important;padding:0!important}.content-wrapper{max-width:100%!important;padding:0!important}.print-page-break{page-break-before:always;break-before:page}.print-avoid-break{page-break-inside:avoid;break-inside:avoid}.card{box-shadow:none!important;border:1px solid #d1d5db!important;border-radius:6px!important;margin-bottom:12pt!important}table{border-collapse:collapse;width:100%}th,td{border:1px solid #9ca3af!important;padding:6pt 8pt!important;font-size:9.5pt!important}th{color:#111827!important;background-color:#f3f4f6!important}}@media (width<=768px){.hide-mobile{display:none!important}}@media (width>=769px){.hide-desktop{display:none!important}}
