*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--navy: #16213e;--navy-light: #1a2744;--blue: #0f3460;--text: #1a1a2e;--text-light: #555;--border: #dde1e6;--bg: #fff;--bg-muted: #f5f6f8;--accent: #2563eb;--radius: 8px}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;color:var(--text);background:var(--bg-muted);line-height:1.6}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem}.login-card{background:var(--bg);border-radius:12px;box-shadow:0 4px 24px #00000014;padding:3rem 2.5rem;max-width:400px;width:100%;text-align:center}.login-card h1{font-size:1.5rem;font-weight:700;color:var(--navy);margin-bottom:.25rem}.login-card .subtitle{color:var(--text-light);font-size:.9rem;margin-bottom:2rem}.code-input-group{position:relative;margin-bottom:1rem}.code-input-group input{width:100%;padding:.85rem 1rem;font-size:1rem;border:2px solid var(--border);border-radius:var(--radius);outline:none;transition:border-color .2s;text-align:center;letter-spacing:.15em;font-family:SF Mono,Fira Code,monospace}.code-input-group input:focus{border-color:var(--accent)}.code-input-group input.error{border-color:#dc2626;animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.login-btn{width:100%;padding:.85rem;font-size:1rem;font-weight:600;color:#fff;background:var(--navy);border:none;border-radius:var(--radius);cursor:pointer;transition:background .2s}.login-btn:hover{background:var(--navy-light)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#dc2626;font-size:.85rem;margin-top:.75rem;min-height:1.2em}.app{display:none}.app.visible{display:block}.top-bar{position:sticky;top:0;z-index:100;background:var(--navy);color:#fff;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.top-bar .name{font-weight:700;font-size:1rem;white-space:nowrap}.top-bar-actions{display:flex;gap:.5rem;flex-wrap:wrap}.top-bar-actions button{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.8rem;font-weight:600;color:var(--navy);background:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .15s;white-space:nowrap}.top-bar-actions button:hover{background:#e8ecf1}.top-bar-actions button svg{width:14px;height:14px}.tabs{display:flex;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:52px;z-index:99}.tab-btn{flex:1;padding:.9rem 1rem;font-size:.9rem;font-weight:600;color:var(--text-light);background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:all .2s}.tab-btn.active{color:var(--navy);border-bottom-color:var(--navy)}.tab-btn:hover:not(.active){color:var(--text);background:var(--bg-muted)}.tab-content{display:none;max-width:800px;margin:0 auto;padding:2rem 1.5rem 4rem}.tab-content.active{display:block}.doc{background:var(--bg);border-radius:var(--radius);box-shadow:0 1px 6px #0000000d;padding:2.5rem}.doc-header{text-align:center;padding-bottom:1.5rem;border-bottom:2px solid var(--navy);margin-bottom:1.5rem}.doc-header h1{font-size:1.6rem;font-weight:700;color:var(--navy);margin-bottom:.4rem}.doc-header .contact{font-size:.85rem;color:var(--text-light);display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem 1rem}.doc-header .contact a{color:var(--accent);text-decoration:none}.doc-header .contact a:hover{text-decoration:underline}.profile-text{font-size:.92rem;color:var(--text);line-height:1.7;margin-bottom:1.5rem;padding:1rem 1.25rem;background:var(--bg-muted);border-left:3px solid var(--navy);border-radius:0 var(--radius) var(--radius) 0}.section{margin-bottom:1.5rem}.section-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--navy);padding-bottom:.4rem;border-bottom:1px solid var(--border);margin-bottom:1rem}.job{margin-bottom:1.25rem}.job-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.25rem;margin-bottom:.25rem}.job-title{font-weight:700;font-size:.95rem;color:var(--text)}.job-company{color:var(--accent);font-weight:500}.job-date{font-size:.82rem;color:var(--text-light);white-space:nowrap}.job-note{font-size:.85rem;color:var(--text-light);font-style:italic}.doc .job-note a{text-decoration:underline}.job ul,.section ul{list-style:none;padding:0}.job li,.section li{position:relative;padding-left:1rem;font-size:.9rem;margin-bottom:.3rem;line-height:1.55}.job li:before,.section li:before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--navy)}.doc a,.letter a{color:var(--accent);text-decoration:none}.doc a:hover,.letter a:hover{text-decoration:underline}.job-company a{color:inherit}.job-company a:hover{color:var(--accent)}.subsection{margin-top:.5rem}.subsection-label{font-weight:600;font-size:.85rem;color:var(--text)}.cert-list li{padding-left:1rem;margin-bottom:.35rem;font-size:.9rem}.cert-name{font-weight:600}.cert-desc{color:var(--text-light);font-size:.85rem}.clearance-item{display:inline-block;padding:.3rem .75rem;font-size:.82rem;font-weight:600;border-radius:4px;margin-right:.5rem;margin-bottom:.3rem}.clearance-active{background:#dcfce7;color:#166534}.clearance-pending{background:#fef3c7;color:#92400e}.letter{background:var(--bg);border-radius:var(--radius);box-shadow:0 1px 6px #0000000d;padding:3rem;line-height:1.8;font-size:.93rem}.letter-header{margin-bottom:2rem}.letter-header .recipient{font-weight:700;color:var(--text)}.letter-header .date{color:var(--text-light);margin-top:.25rem}.letter-header .position{margin-top:1rem;font-weight:700;color:var(--navy)}.letter-greeting{margin-bottom:1rem}.letter p{margin-bottom:1rem;text-align:justify;hyphens:auto}.letter-closing{margin-top:2rem}.letter-closing .sign-name{font-weight:700;margin-top:.25rem}@media(width<=640px){.doc{padding:1.5rem 1.25rem}.letter{padding:2rem 1.25rem}.doc-header h1{font-size:1.3rem}.job-header{flex-direction:column}.top-bar{flex-direction:column;gap:.5rem;padding:.6rem 1rem}}@media print{body{background:#fff}.top-bar,.tabs,.no-print{display:none!important}.app{display:block!important}.tab-content{display:block!important;padding:0;max-width:100%}.doc,.letter{box-shadow:none;border-radius:0;padding:0}.letter{break-before:always}}
