*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #044e66;--primary-dark: #003647;--primary-light: #06607c;--primary-50: #e8f5f9;--primary-100: #ccebf3;--bg: #f6f6f6;--surface: #ffffff;--text: #1a1a2e;--text-muted: #334155;--border: #e2e8f0;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--radius: 8px;--radius-pill: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1)}body{font-family:Rubik,Heebo,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}[dir=rtl] body{font-family:Heebo,Rubik,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#root{display:flex;flex-direction:column;min-height:100vh}a{color:var(--primary);text-decoration:none;transition:opacity .2s}a:hover{opacity:.85}a:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}button{cursor:pointer;border:none;border-radius:var(--radius-pill);padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;font-family:inherit;transition:background .2s,opacity .2s,box-shadow .2s}button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-primary{background:var(--primary-light);color:#fff;border-radius:var(--radius-pill)}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:transparent;color:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-pill)}.btn-secondary:hover{background:var(--primary-50)}.btn-danger{background:var(--danger);color:#fff;border-radius:var(--radius-pill)}.btn-danger:hover{background:#dc2626}input,select{border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .75rem;font-size:.875rem;font-family:inherit;width:100%;transition:border-color .2s,box-shadow .2s}input:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-50)}label{display:block;margin-bottom:.25rem;font-weight:500}.container{max-width:1200px;margin-inline:auto;padding-inline:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm)}.badge{display:inline-block;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600}.badge-success{background:#dcfce7;color:#166534}.badge-warning{background:#fef9c3;color:#713f12}.badge-danger{background:#fee2e2;color:#991b1b}.badge-info{background:var(--primary-50);color:var(--primary)}.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.flex{display:flex;align-items:center;gap:.75rem}.flex-between{display:flex;align-items:center;justify-content:space-between}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.text-muted{color:var(--text-muted)}.text-sm{font-size:.875rem}.page-header{margin-bottom:1.5rem}.page-header h1{font-size:1.5rem;font-weight:700}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.loading{text-align:center;padding:2rem;color:var(--text-muted)}.hero{background:var(--primary);color:#fff;padding:2rem 0}.hero h1,.hero h2,.hero p,.hero a{color:#fff}.footer{background:var(--primary);color:#fff;padding:1.5rem 0;margin-top:auto}.footer a{color:#fff;opacity:.9}.footer a:hover{opacity:1}.skip-link{position:absolute;top:-40px;left:0;background:var(--primary);color:#fff;padding:.5rem 1rem;z-index:100;transition:top .2s;border-radius:0 0 var(--radius) var(--radius)}.skip-link:focus{top:0}.navbar{background:var(--primary);padding:.75rem 0}.navbar a{color:#fff;font-weight:400}.navbar a:hover{opacity:.85}.navbar .brand{font-weight:700;font-size:1.1rem}.navbar .nav-link{color:#ffffffe6;padding:.25rem .5rem;border-radius:var(--radius);font-size:.9rem}.navbar .nav-link:hover{color:#fff;background:#ffffff1a}.navbar .btn-lang{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.25rem .75rem;font-size:.8rem;border-radius:var(--radius-pill)}.navbar .btn-lang:hover{background:#ffffff40}.navbar .btn-logout{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.25rem .75rem;font-size:.8rem;border-radius:var(--radius-pill)}.navbar .btn-logout:hover{background:#ffffff40}.navbar .user-name{color:#ffffffd9;font-size:.85rem}.login-hero{background:var(--primary);color:#fff;padding:2.5rem 0;text-align:center;margin-bottom:2rem}.login-hero h1{color:#fff;font-size:1.75rem;font-weight:700}.login-hero p{color:#ffffffd9;margin-top:.5rem}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-md);max-width:420px;margin:0 auto;border-top:4px solid var(--primary)}.sso-btn-teal{display:flex;align-items:center;justify-content:center;width:100%;padding:.75rem 1rem;border:2px solid var(--primary);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);font-size:1rem;font-weight:500;font-family:inherit;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s}.sso-btn-teal:hover{background:var(--primary-50);border-color:var(--primary-dark)}.about-hero{background:var(--primary);color:#fff;padding:3rem 0;text-align:center}.about-hero h1{color:#fff;font-size:2rem;font-weight:700}.about-section{max-width:800px;margin:2rem auto;padding:0 1rem}.about-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-sm);margin-bottom:1.5rem}.about-card h2{font-size:1.25rem;font-weight:600;color:var(--primary);margin-bottom:.75rem}.about-card p{color:var(--text);line-height:1.8}.project-link{display:block;padding:1rem 1.25rem;background:var(--primary-50);border:1px solid var(--primary-100);border-radius:var(--radius);margin-bottom:.75rem;color:var(--primary);font-weight:500;transition:background .2s,box-shadow .2s}.project-link:hover{background:var(--primary-100);box-shadow:var(--shadow-sm);opacity:1}.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;flex-wrap:wrap}.footer-brand{font-weight:700;font-size:1.05rem;margin-bottom:.25rem}.footer-desc{opacity:.85;font-size:.85rem}.footer-links{display:flex;gap:1.5rem;align-items:center}.footer-links a{font-size:.9rem}.footer-copy{text-align:end;font-size:.85rem;opacity:.85}@media(max-width:640px){.footer-inner{flex-direction:column;align-items:center;text-align:center}.footer-copy{text-align:center}.footer-links{flex-wrap:wrap;justify-content:center}}.home-hero{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;padding:3rem 0 2.5rem}.home-search-form{display:flex;max-width:640px;margin:0 auto;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md)}.home-search-form input:focus{box-shadow:none;border-color:transparent}@media(max-width:640px){.home-hero{padding:2rem 0 1.5rem}.home-hero h1{font-size:1.75rem!important}.home-search-form{flex-direction:column;border-radius:var(--radius)}.home-search-form input{border-radius:var(--radius) var(--radius) 0 0!important}.home-search-form button{border-radius:0 0 var(--radius) var(--radius)!important}}textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-50)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
