:root{--font-mono:"Geist Mono", monospace;--font-sans:"Plus Jakarta Sans", sans-serif;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--border-width:1px;--ghs-navy:#004b85;--ghs-navy-deep:#00366a;--ghs-navy-light:#1a5e9a;--ghs-cyan:#00bff3;--ghs-cyan-dark:#009ed0;--ghs-cyan-light:#3cf}:root[data-theme=dark]{--bg-app:#0d1b2a;--bg-surface:#123;--bg-sidebar:#0d1b2a;--border:#1e3a5f;--text-primary:#eaf4fb;--text-secondary:#8db4cc;--text-muted:#3a5e7a;--accent:var(--ghs-cyan);--accent-hover:var(--ghs-cyan-light);--accent-soft:#33a9c01a;--accent-border:#33a9c04d;--navy:var(--ghs-navy);--navy-surface:var(--ghs-navy-light);--danger:#f55;--success:#2ecc71;--grid-color:#33a9c00a}:root[data-theme=light]{--bg-app:#f0f6fa;--bg-surface:#fff;--bg-sidebar:#ebf3f9;--border:#cae0ec;--text-primary:#1e3a5f;--text-secondary:#2d6080;--text-muted:#7ba8c4;--accent:var(--ghs-cyan);--accent-hover:var(--ghs-cyan-dark);--accent-soft:#33a9c01f;--accent-border:#33a9c059;--navy:var(--ghs-navy);--navy-surface:var(--ghs-navy-light);--danger:#dc2626;--success:#16a34a;--grid-color:#1e3a5f0a}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5;transition:background-color .3s,color .3s}h1,h2,h3,h4,h5,h6{font-family:var(--font-mono);letter-spacing:-.02em;font-weight:700}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font-sans);border:none;outline:none}.tech-panel{background-color:var(--bg-surface);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);position:relative}.tech-panel:before{content:"";border-top:2px solid var(--accent);border-left:2px solid var(--accent);width:14px;height:14px;position:absolute;top:-1px;left:-1px}.navy-bar{border-left:4px solid var(--navy);padding-left:16px}.btn-tech{font-family:var(--font-mono);border:1px solid var(--accent);background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;align-items:center;gap:8px;padding:11px 22px;font-size:.85rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-tech:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 4px 16px var(--accent-soft);transform:translateY(-1px)}.btn-tech:disabled{opacity:.5;pointer-events:none}.btn-tech-outline{font-family:var(--font-mono);border:1px solid var(--border);color:var(--text-secondary);letter-spacing:.04em;cursor:pointer;background:0 0;align-items:center;gap:8px;padding:11px 22px;font-size:.85rem;transition:all .2s;display:inline-flex}.btn-tech-outline:hover{border-color:var(--accent);color:var(--accent)}.btn-navy{font-family:var(--font-mono);background:var(--navy);border:1px solid var(--navy);color:#fff;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;align-items:center;gap:8px;padding:11px 22px;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-navy:hover{background:var(--navy-surface);border-color:var(--navy-surface)}.form-control{border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:var(--radius-sm);font-family:var(--font-sans);background:0 0;padding:12px 16px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.form-control::placeholder{color:var(--text-muted)}.detail-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);opacity:.8;margin-bottom:3px;font-size:.65rem;display:block}.detail-block{border-left:2px solid var(--accent);background:var(--accent-soft);padding:10px 14px}.detail-value{font-family:var(--font-sans);font-weight:600}.mono{font-family:var(--font-mono)}.text-accent{color:var(--accent)}.text-navy{color:var(--navy)}.text-muted{color:var(--text-muted)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.container{max-width:1280px;margin:0 auto;padding:0 24px}.grid-lines{background-image:linear-gradient(var(--grid-color) 1px, transparent 1px), linear-gradient(90deg, var(--grid-color) 1px, transparent 1px);background-size:40px 40px}.sidebar-tech{border-right:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;width:280px;height:100%;padding:24px;overflow:hidden}.sidebar-nav-item{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-secondary);border-radius:var(--radius-sm);text-align:left;background:0 0;align-items:center;gap:12px;width:100%;margin-bottom:4px;padding:12px 16px;font-size:.8rem;transition:all .2s;display:flex}.sidebar-nav-item:hover,.sidebar-nav-item.active{background:var(--accent-soft);color:var(--accent);border-left:3px solid var(--accent);padding-left:13px}.ghs-divider{background:var(--accent);width:48px;height:3px;margin-bottom:16px}.progress-track{background:var(--border);border-radius:2px;width:100%;height:4px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--ghs-navy-light), var(--ghs-cyan));border-radius:2px;height:100%;transition:width .5s}.progress-fill.complete{background:linear-gradient(90deg, var(--ghs-cyan), var(--success))}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.page-transition{animation:.4s cubic-bezier(.16,1,.3,1) fadeUp}.tech-border{border:var(--border-width) solid var(--border)}
