:root{--primary-blue: #003d7a;--dark-blue: #002952;--light-blue: #004c99;--hover-blue: #00264d;--white: #ffffff;--light-gray: #f5f7fa;--gray: #e0e4e8;--text-dark: #333333;--shadow: rgba(0, 61, 122, .15);--error-red: #dc3545;--success-green: #28a745;--warning-yellow: #ffc107;--warning-yellow-dark: #b78700;--text-muted: #5f6b7a;--border-soft: #dde3ea;--shadow-sm: 0 1px 2px rgba(16, 38, 64, .06), 0 2px 8px rgba(16, 38, 64, .06);--shadow-md: 0 4px 12px rgba(16, 38, 64, .08), 0 12px 32px rgba(0, 61, 122, .12);--radius: 14px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,system-ui,-apple-system,Helvetica,Arial,sans-serif;background:radial-gradient(1200px 600px at 50% -10%,rgba(0,76,153,.08),transparent 70%),linear-gradient(180deg,var(--light-gray) 0%,var(--white) 100%);background-attachment:fixed;color:var(--text-dark);min-height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased}button:focus-visible{outline:3px solid rgba(0,76,153,.45);outline-offset:3px}.hidden{display:none!important}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px}.login-box{background:var(--white);border-radius:15px;padding:40px;width:100%;max-width:450px;box-shadow:0 10px 30px var(--shadow);border:2px solid var(--primary-blue)}.login-header{text-align:center;margin-bottom:30px}.login-header h1{font-size:2rem;color:var(--primary-blue);font-weight:700;margin-bottom:5px}.login-header .subtitle{font-size:1rem;color:var(--dark-blue);font-weight:300}.login-form,.form-group{margin-bottom:20px}.form-group label{display:block;color:var(--primary-blue);font-weight:600;margin-bottom:8px;font-size:.95rem}.form-group input{width:100%;padding:12px 15px;border:2px solid var(--gray);border-radius:8px;font-size:1rem;transition:all .3s ease;font-family:inherit}.form-group input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #003d7a1a}.login-btn{width:100%;background:var(--primary-blue);color:var(--white);border:none;border-radius:8px;padding:14px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative}.login-btn:hover:not(:disabled){background:var(--dark-blue);transform:translateY(-2px);box-shadow:0 5px 15px var(--shadow)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.7;cursor:not-allowed}.spinner{border:3px solid rgba(255,255,255,.3);border-top:3px solid var(--white);border-radius:50%;width:20px;height:20px;animation:spin 1s linear infinite;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-footer{text-align:center;margin-top:20px;color:var(--text-dark)}.login-footer a{color:var(--primary-blue);text-decoration:none;font-weight:600;transition:color .3s ease}.login-footer a:hover{color:var(--dark-blue);text-decoration:underline}.error-message{background:#f8d7da;color:var(--error-red);border:1px solid var(--error-red);border-radius:8px;padding:12px 15px;margin-bottom:20px;font-size:.95rem}.success-message{background:#d4edda;color:var(--success-green);border:1px solid var(--success-green);border-radius:8px;padding:12px 15px;margin-bottom:20px;font-size:.95rem}.logout-btn{position:fixed;top:20px;right:20px;background:#ffffffd9;backdrop-filter:blur(6px);color:var(--primary-blue);border:1px solid var(--border-soft);border-radius:999px;padding:9px 18px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);z-index:1000;display:flex;align-items:center;gap:8px}.logout-btn:hover{background:var(--primary-blue);border-color:var(--primary-blue);color:var(--white);transform:translateY(-1px);box-shadow:var(--shadow-md)}.logout-btn span{font-size:1.1rem}.menu-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;transition:opacity .3s ease,transform .3s ease}.menu-container.hidden{opacity:0;transform:scale(.95);pointer-events:none;position:absolute}.header{text-align:center;margin-bottom:50px}.header h1{font-size:2.8rem;color:var(--primary-blue);font-weight:700;letter-spacing:-.5px;margin-bottom:8px;background:linear-gradient(135deg,var(--light-blue) 0%,var(--dark-blue) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.subtitle{font-size:.95rem;color:var(--text-muted);font-weight:600;letter-spacing:3px;text-transform:uppercase}.user-email{font-size:.9rem;color:var(--primary-blue);font-weight:500;margin-top:16px;padding:6px 14px;background:var(--white);border:1px solid var(--border-soft);border-radius:999px;display:inline-block;box-shadow:var(--shadow-sm)}.menu-buttons{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;max-width:1200px}.menu-btn{position:relative;background:var(--white);border:1px solid var(--border-soft);border-radius:var(--radius);padding:36px 28px;width:280px;cursor:pointer;font-family:inherit;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;box-shadow:var(--shadow-sm)}.menu-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;background:linear-gradient(90deg,var(--primary-blue),var(--light-blue))}.menu-btn:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:#003d7a59}.menu-btn:active{transform:translateY(-3px)}.menu-btn h2{color:var(--primary-blue);font-size:1.35rem;line-height:1.3;margin-bottom:8px;font-weight:600}.menu-btn p{color:var(--text-muted);font-size:.95rem;font-weight:400}.dashboard-container{display:flex;flex-direction:column;height:100vh;width:100vw;transition:opacity .3s ease}.dashboard-container.hidden{opacity:0;pointer-events:none;position:absolute}.dashboard-header{position:relative;background:#ffffffeb;backdrop-filter:blur(6px);color:var(--primary-blue);padding:14px 190px 14px 28px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--border-soft);box-shadow:var(--shadow-sm);z-index:1}.dashboard-header:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-blue),var(--light-blue))}.back-btn{background:var(--white);color:var(--primary-blue);border:1px solid var(--border-soft);border-radius:999px;padding:9px 18px;font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.back-btn:hover{background:var(--primary-blue);border-color:var(--primary-blue);color:var(--white);transform:translate(-3px);box-shadow:var(--shadow-md)}.back-btn:active{transform:translate(-2px)}.header-buttons{display:flex;gap:15px;align-items:center}.download-btn{background:var(--white);color:var(--primary-blue);border:1px solid var(--border-soft);border-radius:999px;padding:9px 18px;font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:8px}.download-btn:hover:not(:disabled){background:var(--primary-blue);border-color:var(--primary-blue);color:var(--white);transform:translateY(-1px);box-shadow:var(--shadow-md)}.download-btn:active:not(:disabled){transform:translateY(-1px)}.download-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}#dashboard-title{font-size:1.4rem;font-weight:700;letter-spacing:-.3px;margin:0;background:linear-gradient(135deg,var(--light-blue) 0%,var(--dark-blue) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}#dashboard-frame{flex:1;width:100%;border:none;background:var(--white)}@media(max-width:768px){body{overflow-y:auto}.header h1{font-size:2rem}.subtitle{font-size:1rem}.menu-buttons{gap:20px}.menu-btn{width:100%;max-width:350px}#dashboard-title{font-size:1.2rem}.dashboard-header{padding:12px 140px 12px 14px;gap:12px;flex-wrap:wrap}.login-box{padding:30px 20px}.logout-btn{top:10px;right:10px;padding:8px 15px;font-size:.85rem}.header-buttons{gap:10px}.download-btn{padding:10px 15px;font-size:.85rem}}.recaptcha-notice{margin-top:20px;font-size:.75rem;color:#666;text-align:center;line-height:1.4}.recaptcha-notice a{color:var(--primary-blue);text-decoration:none}.recaptcha-notice a:hover{text-decoration:underline}.grecaptcha-badge{visibility:hidden}.menu-item{position:relative;display:flex}.menu-btn--new{position:relative;width:280px;border-color:#ffc10799;box-shadow:0 2px 10px #ffc10740}.menu-btn--new:before{background:linear-gradient(90deg,var(--warning-yellow),#ffd54f)}.menu-btn--new:hover{border-color:var(--warning-yellow);background:linear-gradient(135deg,var(--white) 0%,#fffaeb 100%);box-shadow:0 12px 30px #ffc1074d}.menu-btn--new h2{color:var(--warning-yellow-dark)}.badge-new{position:absolute;top:-12px;right:-12px;background:var(--warning-yellow);color:var(--text-dark);font-size:.75rem;font-weight:700;letter-spacing:1px;padding:5px 12px;border-radius:20px;box-shadow:0 2px 6px #ffc10766}.update-popover{position:absolute;left:calc(100% + 16px);top:50%;transform:translateY(-50%);width:260px;background:var(--white);border:2px solid var(--warning-yellow);border-radius:12px;padding:18px 20px;box-shadow:var(--shadow-md);text-align:left;z-index:1100;animation:popoverIn .3s ease}.update-popover.hidden{display:none}.update-popover:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:10px solid var(--warning-yellow)}.update-popover:after{content:"";position:absolute;left:-7px;top:50%;transform:translateY(-50%);border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:8px solid var(--white)}.update-popover__title{color:var(--warning-yellow-dark);font-weight:700;font-size:1rem;margin-bottom:6px}.update-popover__text{color:var(--text-dark);font-size:.9rem;line-height:1.4}.update-popover__close{position:absolute;top:6px;right:10px;background:none;border:none;font-size:1.4rem;line-height:1;color:#999;cursor:pointer;padding:0}.update-popover__close:hover{color:var(--text-dark)}@keyframes popoverIn{0%{opacity:0}to{opacity:1}}@media(max-width:768px){.update-popover{left:50%;top:calc(100% + 16px);transform:translate(-50%);width:240px}.update-popover:before{left:50%;top:-10px;transform:translate(-50%);border-top:none;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid var(--warning-yellow)}.update-popover:after{left:50%;top:-7px;transform:translate(-50%);border-top:none;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--white)}}
