:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.content-row{display:flex;flex-direction:column;flex:1 1 0;min-height:0;gap:24px}html,body{height:100%;margin:0;padding:0;overflow:hidden;font-family:Inter,Arial,Helvetica,sans-serif;background:#f7f9fb;color:#222}.dashboard-layout{display:flex;height:100vh;position:relative}@media(max-width:900px){.content-row{display:flex;flex-direction:column;gap:24px;flex:1 1 0;min-height:0;padding-bottom:0}.right-sidebar{width:100%;align-items:stretch}.team-grid{grid-template-columns:1fr;gap:20px}}.right-sidebar{width:320px;background:none;display:flex;flex-direction:column;align-items:flex-end}.statistic-card{background:transparent;border-radius:18px;box-shadow:0 8px 32px #3b82ed59;padding:32px 24px;width:100%;margin-bottom:24px}.stat-user{display:flex;align-items:center;gap:16px;margin-bottom:16px}.stat-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:3px solid #ECF1FD}.stat-name{font-size:1.1rem;font-weight:700;color:#222}.stat-role{font-size:1rem;color:#677399}.stat-title{font-size:1.1rem;font-weight:600;color:#222;margin-bottom:16px}.stat-circle{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ecf1fd;border-radius:50%;width:120px;height:120px;margin:0 auto 24px;position:relative}.stat-percent{font-size:2.2rem;font-weight:700;color:#3b82ed}.stat-arrow{color:#3b82ed;font-size:1.2rem;margin-top:4px}.stat-change{color:#3b82ed;font-size:1rem;margin-top:2px}.stat-label{color:#677399;font-size:1rem;margin-top:6px}.projects-list{margin-top:16px}.project-item{background:#ecf1fd;border-radius:12px;padding:12px;display:flex;align-items:center;gap:12px;margin-bottom:12px}.project-title{font-size:1rem;font-weight:600;color:#222}.project-desc{font-size:.95rem;color:#677399}.project-img{width:48px;height:48px;border-radius:8px;object-fit:cover}.view-all-btn{background:#3b82ed;color:#fff;border:none;border-radius:8px;padding:10px 0;width:100%;font-size:1rem;font-weight:600;margin-top:8px;cursor:pointer}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;padding:24px 0 8px;border-radius:16px;box-shadow:0 2px 8px #3b82ed0a;overflow-y:auto;max-height:calc(100vh - 200px);-webkit-overflow-scrolling:touch;width:100%;margin:0;scrollbar-width:none;-ms-overflow-style:none}.team-grid::-webkit-scrollbar{display:none}.team-card{background:#fff;border-radius:18px;box-shadow:0 4px 24px #3b82ed14;padding:16px 12px;display:flex;flex-direction:column;align-items:center;transition:box-shadow .2s}.team-card:hover{box-shadow:0 8px 32px #3b82ed26}.card-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;margin-bottom:16px;border:3px solid #ECF1FD}.card-name{font-size:1.15rem;font-weight:700;color:#222;margin-bottom:4px}.card-role{font-size:1rem;color:#677399;margin-bottom:16px}.card-stats{display:flex;gap:16px;font-size:.98rem;color:#677399;margin-bottom:12px}.card-stats b{color:#3b82ed;font-weight:700}.card-productivity{font-size:.98rem;color:#677399;margin-top:8px}.prod-blue{color:#3b82ed;font-weight:700;margin-left:4px}.card-tags-section{margin-top:12px}.tag-label{font-size:.85rem;color:#677399;margin-bottom:6px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;text-align:center}.tag-carousel{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:4px 0}.carousel-nav{background:#f0f0f0;border:none;border-radius:20%;width:20px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;font-weight:700;color:#666;transition:all .2s ease;flex-shrink:0;box-shadow:0 1px 3px #0000001a}.carousel-nav:hover:not(:disabled){background:#e0e0e0;color:#333;transform:scale(1.05)}.carousel-nav:disabled{opacity:.3;cursor:not-allowed;transform:none}.tag-display{flex:1;display:flex;justify-content:center;align-items:center;min-height:24px;position:relative}.tag{display:inline-block;padding:6px 12px;border-radius:10px;font-size:.8rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;text-align:center;box-shadow:0 1px 2px #0000001a}.education-tag{background:#ecf1fd;color:#3b82ed}.skill-tag{background:#e8f5e8;color:#2e7d32}.no-data-text{color:#999;font-size:.8rem;font-style:italic;text-align:center}.tag-popup{position:absolute;background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;padding:12px;z-index:1000;min-width:200px;max-width:280px;border:1px solid #e0e0e0;margin-top:8px}.tag-popup-header{font-size:.85rem;font-weight:600;color:#677399;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;text-align:center}.tag-popup-list{display:flex;flex-wrap:wrap;gap:6px;max-height:120px;overflow-y:auto}.tag-popup-item{display:inline-block;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.breadcrumbs{font-size:1.1rem;color:#677399;display:flex;align-items:center;gap:8px}.breadcrumbs .chevron{color:#3b82ed;font-weight:700}.team-avatars{display:flex;align-items:center;gap:8px}.avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 8px #3b82ed14}.avatar-count{background:#3b82ed;color:#fff;border-radius:12px;padding:2px 10px;font-size:.95rem;font-weight:600;margin-left:6px}.design-team-header{height:50px;display:flex;justify-content:space-between;align-items:center}.design-team-header h2{font-size:2rem;color:#222;font-weight:700}.search-filter{display:flex;align-items:center;gap:12px}.search-input{padding:8px 16px;border-radius:8px;border:1px solid #ECF1FD;background:#fff;font-size:1rem;color:#677399;min-width:250px}.subcategory-select{padding:8px 12px;border-radius:8px;border:1px solid #ECF1FD;background:#fff;font-size:.9rem;color:#677399;min-width:180px}.filter-btn{background:#3b82ed;color:#fff;border:none;border-radius:8px;padding:8px 12px;font-size:1.2rem;cursor:pointer}.no-results{color:#9ca3af;font-style:italic}body{font-family:Nunito Sans,Arial,sans-serif;background:#ecf1fd;margin:0}.dashboard-layout{display:flex;min-height:100vh;background:#ecf1fd;height:100vh;width:100vw}.sidebar{width:160px;background:#fff;box-shadow:2px 0 16px #3b82ed0d;padding:32px 0 32px 32px;display:flex;flex-direction:column}.logo{font-size:1.7rem;font-weight:700;margin-bottom:40px;display:flex;align-items:center;justify-content:center}.logo-image{height:70px;width:auto;max-width:180px;object-fit:contain}.logo .blue{color:#3b82ed}.sidebar.collapsed .logo{opacity:0;pointer-events:none}.sidebar nav ul{list-style:none;padding:0;margin:0}.sidebar nav ul li{font-size:1.05rem;color:#677399;padding:8px 0 8px 12px;cursor:pointer;transition:color .2s;margin-bottom:10px;width:160px}.sidebar nav ul li.active{background:#ecf1fd;color:#3b82ed;font-weight:600;border-radius:10px;padding:6px 14px;font-size:1.05rem;width:160px}.sidebar nav ul li:hover{color:#3b82ed;font-weight:600}.main-content{flex:1 1 0;display:flex;flex-direction:column;padding:0 48px 48px 18px;background:#ecf1fd;overflow:hidden}.profile-popup-header-actions{position:absolute;top:18px;right:32px;display:flex;flex-direction:row;align-items:center;gap:22px;z-index:10;height:44px;min-width:240px;flex-wrap:nowrap;justify-content:flex-end}@media(max-width:600px){.profile-popup-header-actions{right:12px;min-width:0;gap:10px}.profile-popup-schedule-btn.top-btn,.close-btn{min-width:70px;font-size:.95rem;padding:0 8px}}.profile-popup-schedule-btn.top-btn{min-width:110px;min-height:36px;display:flex;align-items:center;justify-content:center;margin:0;font-size:1rem}.close-btn{min-width:44px;min-height:36px;display:flex;align-items:center;justify-content:center;margin:0;font-size:1.5rem;padding:0 14px;line-height:1;background:#e53935;color:#fff;border:none;border-radius:6px;box-shadow:0 2px 8px #e5393514;transition:background .18s}.profile-popup-schedule-btn.top-btn{padding:6px 14px;font-size:.98rem;border-radius:6px;background:#1976d2;color:#fff;border:none;font-weight:500;margin-right:0;transition:background .18s;box-shadow:0 2px 8px #1976d214;cursor:pointer}.profile-popup-schedule-btn.top-btn:hover{background:#1251a3}.close-btn{background:#e53935;color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:1.2rem;font-weight:700;margin-left:0;cursor:pointer;transition:background .18s}.close-btn:hover{background:#b71c1c}.next-btn-inline{margin-left:1rem;vertical-align:middle;height:1.5rem}.profile-popup-header-name{color:#333;font-size:2rem;font-weight:600;margin-bottom:.2rem;letter-spacing:.5px}.profile-linkedin-avatar-col{flex:0 0 120px;display:flex;align-items:center;justify-content:center;height:100%}.profile-linkedin-avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid #e3e8f0;box-shadow:0 2px 8px #00000012;background:#f4f6fa}.profile-linkedin-main-col{flex:1 1 0;display:flex;flex-direction:column;gap:.35rem;justify-content:center;min-width:0}.profile-linkedin-name{font-size:2rem;font-weight:700;color:#1a237e;margin-bottom:.1rem;line-height:1.1;word-break:break-word}.profile-linkedin-title{font-size:1.18rem;font-weight:500;color:#333;margin-bottom:.1rem;line-height:1.2}.profile-linkedin-meta{font-size:1.05rem;color:#555;margin-bottom:.08rem;display:flex;flex-wrap:wrap;gap:.3rem}.profile-linkedin-contact{font-size:1.05rem;color:#1976d2;margin-bottom:.08rem;display:flex;flex-wrap:wrap;gap:.3rem}.profile-linkedin-address{font-size:1.05rem;color:#444;margin-bottom:.08rem;word-break:break-word}.profile-linkedin-date{font-size:1.01rem;color:#888;margin-top:.18rem;display:flex;align-items:center;gap:.4rem;word-break:break-word}.profile-section{margin:2.2rem 0 0;padding-bottom:.5rem;padding-left:2.5rem;padding-right:2.5rem}.profile-section-item{background:#f7f9fb;border-radius:8px;padding:.7rem 1.1rem;font-size:1.04rem;color:#222;display:flex;flex-direction:column;gap:.1rem;box-shadow:0 1px 2px #00000008;min-width:0}.profile-linkedin-top{display:flex;flex-direction:row;align-items:flex-start;gap:2.5rem;padding:2.5rem 2.5rem 1.5rem}.profile-linkedin-avatar-col{flex:0 0 120px;display:flex;align-items:flex-start;justify-content:center}.profile-linkedin-avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid #e3e8f0;box-shadow:0 2px 8px #00000012}.profile-linkedin-main-col{flex:1 1 0;display:flex;flex-direction:column;gap:.3rem}.profile-linkedin-name{font-size:2rem;font-weight:700;color:#1a237e;margin-bottom:.2rem}.profile-linkedin-title{font-size:1.2rem;font-weight:500;color:#333;margin-bottom:.2rem}.profile-linkedin-meta{font-size:1.05rem;color:#555;margin-bottom:.1rem}.profile-linkedin-contact{font-size:1.05rem;color:#1976d2;margin-bottom:.1rem}.profile-linkedin-address{font-size:1.05rem;color:#444;margin-bottom:.1rem}.profile-linkedin-date{font-size:1.01rem;color:#888;margin-top:.2rem;display:flex;align-items:center;gap:.4rem}.profile-linkedin-divider{height:1px;background:#e3e8f0;margin:0 2.5rem 1.5rem}.profile-section{margin:2.2rem 0 0;padding-bottom:.5rem}.profile-section-title{font-size:1.15rem;font-weight:600;color:#1a237e;margin-bottom:.7rem;letter-spacing:.01em}.profile-section-list{display:flex;flex-direction:column;gap:.7rem}.profile-section-item{background:#f7f9fb;border-radius:8px;padding:.7rem 1.1rem;font-size:1.04rem;color:#222;display:flex;flex-direction:column;gap:.1rem;box-shadow:0 1px 2px #00000008}.profile-section-sub{color:#666;font-size:.98em;margin-left:.3em}.profile-section-detail{color:#444;font-size:.97em;margin-top:.1em}.profile-section-link{color:#1976d2;font-size:.97em;margin-left:.7em;text-decoration:underline;cursor:pointer}.profile-popup-value{font-size:1.07rem;color:#222;background:none;padding:.6rem 0;border-radius:7px;min-height:38px;display:flex;align-items:center;word-break:break-word}.profile-popup-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;flex-wrap:wrap}.profile-popup-overlay .profile-popup{background:#fff;border-radius:20px;padding:0;min-width:1000px;max-width:1200px;min-height:80vh;max-height:92vh;overflow-y:auto;position:relative;box-shadow:0 8px 32px #0000002e;font-family:Inter,Arial,Helvetica,sans-serif;color:#222;animation:popup-fade-in .2s}.profile-popup-overlay .profile-popup-form{padding:0}.profile-popup-overlay .profile-popup-header-row{display:flex;align-items:center;justify-content:space-between;padding:2.5rem 2.5rem .5rem}.profile-popup-overlay .profile-popup-title{font-size:1.15rem;font-weight:600;color:#222}.profile-popup-overlay .profile-popup-edit-btn{background:#f4f6fa;border:1px solid #e3e8f0;border-radius:8px;padding:.3rem .8rem;font-size:1rem;color:#555;cursor:pointer;display:flex;align-items:center;gap:.3rem;transition:background .15s,border .15s}.profile-popup-overlay .profile-popup-edit-btn:hover{background:#e3e8f0}.profile-popup-overlay .icon-edit{width:1.1em;height:1.1em;display:inline-block;background:url('data:image/svg+xml;utf8,<svg fill="none" stroke="%23555" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M15.232 5.232l3.536 3.536M9 13l6.586-6.586a2 2 0 112.828 2.828L11.828 15.828a4 4 0 01-1.414.828l-4.243 1.414 1.414-4.243a4 4 0 01.828-1.414z"/></svg>') center/contain no-repeat}.profile-popup-overlay .profile-popup-divider{height:1px;background:#f0f1f3;margin:0 2.5rem 1.5rem}.profile-popup-overlay .profile-popup-avatar-row{display:flex;justify-content:center;margin-bottom:.5rem}.profile-popup-overlay .profile-avatar-lg{width:90px;height:90px;border-radius:50%;object-fit:cover;border:3px solid #e3e8f0;box-shadow:0 2px 8px #00000012}.profile-popup-overlay .profile-popup-name{text-align:center;font-size:1.25rem;font-weight:600;margin-bottom:1.2rem;color:#1a237e}.profile-popup-overlay .profile-popup-form-fields{padding:0 2.5rem}.profile-popup-overlay .profile-popup-fields-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.2rem 2.2rem;margin-bottom:.5rem}.profile-popup-overlay .profile-popup-field{display:flex;flex-direction:column;gap:.3rem}.profile-popup-overlay .profile-popup-field label{font-size:1rem;color:#666;font-weight:500;margin-bottom:.18rem;letter-spacing:.01em}.profile-popup-overlay .profile-popup-field input{font-size:1.05rem;padding:.6rem 1rem;border:1px solid #e3e8f0;border-radius:7px;background:#f7f9fb;color:#222;outline:none;width:100%;box-sizing:border-box}.profile-popup-overlay .profile-popup-field input[readonly]{background:#f7f9fb;color:#222;cursor:default}.profile-popup-overlay .profile-popup-header-row{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;padding:2.5rem 2.5rem .5rem;position:relative}.profile-popup-overlay .center-name{flex:1 1 0;text-align:left;display:flex;align-items:center;gap:.5rem}.profile-popup-nav-btn{background:#fff;border:1px solid #bbb;border-radius:6px;padding:.15rem .7rem;font-size:1rem;color:#333;font-weight:400;cursor:pointer;transition:background .15s,border .15s;display:flex;align-items:center;height:2.1rem}.profile-popup-date-field{color:#222;background:#f7f9fb;border-radius:7px;padding:.6rem 1rem;border:1px solid #e3e8f0;margin-top:.1rem}.profile-popup-date-field .profile-popup-loading .profile-linkedin-top{align-items:center}.profile-popup-date-field .profile-popup-loading .profile-linkedin-main-col{align-items:flex-start;gap:.5rem}.icon-calendar{width:1.1em;height:1.1em;display:inline-block;background:url('data:image/svg+xml;utf8,<svg fill="none" stroke="%231a237e" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M16 3v4M8 3v4M3 9h18"/></svg>') center/contain no-repeat}.profile-popup-actions{display:flex;justify-content:flex-end;gap:1rem;padding:2.5rem 2.5rem 1.7rem;background:#fff;border-bottom-left-radius:20px;border-bottom-right-radius:20px;margin-top:2.2rem}.profile-popup-cancel-btn{background:#f4f6fa;color:#222;border:1px solid #e3e8f0;border-radius:8px;padding:.6rem 1.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background .15s,border .15s}.profile-popup-cancel-btn:hover{background:#e3e8f0}.profile-popup-save-btn{background:#222;color:#fff;border:none;border-radius:8px;padding:.6rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s}.profile-popup-save-btn:hover{background:#1a237e}.profile-popup-loading{padding:2rem;text-align:center;color:#888}.profile-popup-error{padding:2rem;text-align:center;color:#c00}@keyframes popup-fade-in{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.close-btn{position:absolute;top:1.2rem;right:1.2rem;background:none;border:none;font-size:2rem;color:#888;cursor:pointer;transition:color .15s}.close-btn:hover{color:#222}.profile-avatar{width:110px;height:110px;border-radius:50%;object-fit:cover;margin-bottom:1.2rem;border:3px solid #e3e8f0;box-shadow:0 2px 8px #00000012}.profile-content h2{margin-top:0;margin-bottom:.5rem;font-size:1.5rem;font-weight:700;letter-spacing:-.5px;color:#1a237e;text-align:center}.profile-content p{margin:.3rem 0;font-size:1rem;color:#333}.profile-content b{color:#1a237e;font-weight:600}.schedule-popup-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.schedule-popup{background:#fff;border-radius:10px;padding:32px 24px 24px;min-width:320px;max-width:90vw;box-shadow:0 4px 24px #0000002e;position:relative}.close-btn{position:absolute;top:12px;right:16px;background:none;border:none;font-size:1.8rem;color:#888;cursor:pointer}.schedule-form{display:flex;flex-direction:column;gap:18px;margin-top:24px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-weight:500;color:#333}.form-group input[type=date],.form-group input[type=time]{padding:8px 10px;border:1px solid #ccc;border-radius:5px;font-size:1rem}.submit-btn{background:#1976d2;color:#fff;border:none;border-radius:6px;padding:10px 0;font-size:1.1rem;font-weight:600;cursor:pointer;margin-top:10px;transition:background .2s}.submit-btn:hover{background:#1251a3}.skeleton-card{background:#fff;border-radius:18px;box-shadow:0 4px 24px #3b82ed14;padding:32px 24px;display:flex;flex-direction:column;align-items:center;animation:pulse 1.5s ease-in-out infinite}.skeleton-avatar{width:56px;height:56px;border-radius:50%;background:#f0f0f0;margin-bottom:16px}.skeleton-name{width:120px;height:18px;background:#f0f0f0;border-radius:4px;margin-bottom:8px}.skeleton-role{width:80px;height:14px;background:#f0f0f0;border-radius:4px;margin-bottom:16px}.skeleton-stats{display:flex;gap:16px;margin-bottom:12px}.skeleton-stat{width:60px;height:14px;background:#f0f0f0;border-radius:4px}.skeleton-tags{display:flex;gap:8px}.skeleton-tag{width:70px;height:20px;background:#f0f0f0;border-radius:10px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.meetings-body{flex:1;padding:40px 32px;background:#fff;min-height:100vh}.meetings-body h2{color:#1976d2;margin-bottom:24px}.meetings-list-placeholder{background:#f7f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:32px;text-align:center;color:#888}.meetings-table-wrapper{margin-top:24px;overflow-x:auto}.meetings-table{width:100%;border-collapse:collapse;background:#fff}.meetings-table th,.meetings-table td{padding:12px 16px;border-bottom:1px solid #e0e0e0;text-align:left}.meetings-table th{background:#e3f2fd;color:#1976d2;font-weight:600}.meetings-table tr:last-child td{border-bottom:none}.styled-meetings-table th,.styled-meetings-table td{font-size:1.05rem}.candidate-name{font-weight:600;color:#1976d2;letter-spacing:.01em}.status-badge{display:inline-block;padding:4px 14px;border-radius:12px;font-size:.98rem;font-weight:500;text-transform:capitalize;background:#e3f2fd;color:#1976d2;border:1px solid #bbdefb}.status-badge.status-pending{background:#fff8e1;color:#ff9800;border:1px solid #ffe0b2}.status-badge.status-completed{background:#e8f5e9;color:#388e3c;border:1px solid #c8e6c9}.status-badge.status-cancelled{background:#ffebee;color:#d32f2f;border:1px solid #ffcdd2}} .login-input{width:100%;padding:14px 14px 14px 12px;border-radius:8px;border:1.5px solid #e3e8f0;font-size:1.08rem;color:#26334d;background:#f7fafd;margin-top:6px;margin-bottom:18px;transition:border .18s,box-shadow .18s;box-sizing:border-box;outline:none;text-align:left}.login-input:focus{border:1.5px solid #2563eb;box-shadow:0 2px 8px #3b82ed14;background:#fff}html,body{width:100vw;height:100vh;margin:0;padding:0;box-sizing:border-box;overflow:hidden}.login-split-bg{min-height:100vh;display:flex;background:#f8f8fc}.login-split-left{flex:1 1 0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#f8f8fc;width:50vw;padding:0}.login-card{background:#fff;border-radius:24px;box-shadow:0 8px 32px #3b82ed1a,0 1.5px 8px #00000008;padding:48px 40px 36px;max-width:400px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:18px}.login-logo-modern{width:56px;height:56px;margin-bottom:8px;border-radius:14px;box-shadow:0 2px 8px #3b82ed1a}.login-title{font-size:2.4rem;font-weight:800;color:#1a237e;background:none;font-size:1.08rem;font-weight:700;letter-spacing:.01em;padding-left:2px;text-align:left;display:block;margin-bottom:8px}.login-desc{color:#64748b;font-size:1.04rem;margin-bottom:32px}.login-google-btn{width:100%;background:#fff;border:1.5px solid #e5eaf2;border-radius:24px;padding:12px 0;font-size:1.05rem;color:#222;font-weight:600;margin-bottom:28px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:box-shadow .18s,border .18s;box-shadow:0 2px 8px #3b82ed0a}.login-google-btn:hover{border:1.5px solid #2563eb;box-shadow:0 4px 16px #3b82ed14}.login-form-modern{display:flex;flex-direction:column;gap:18px;margin-bottom:18px;width:100%;max-width:370px;align-items:flex-start}.login-image-overlay{position:absolute;inset:0;background:linear-gradient(120deg,#16213e1a,#3b82ed1a);pointer-events:none}.login-label{color:#1a237e;font-size:1.08rem;font-weight:700;letter-spacing:.01em;padding-left:0;text-align:left;display:block}.login-main-btn{background:#1677ff;color:#fff;border:none;border-radius:24px;padding:13px 0;font-size:1.08rem;font-weight:700;cursor:pointer;transition:background .18s,box-shadow .18s;box-shadow:0 2px 8px #3b82ed12;margin-top:8px;width:100%;max-width:260px;align-self:center}.login-split-right{width:50vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#f8f8fc;position:relative;box-sizing:border-box}.login-main-btn:disabled{background:#a5b4fc;cursor:not-allowed;box-shadow:none}.login-copyright{color:#b0b8c9;font-size:.92rem;margin-top:32px;margin-bottom:8px}.login-split-right{flex:1 1 0;display:flex;align-items:center;justify-content:center;background:#f8f8fc;position:relative;min-width:0;max-width:50vw}.login-image-bg{position:relative;width:420px;height:540px;display:flex;align-items:center;justify-content:center}.login-main-img{width:100%;height:100%;object-fit:cover;border-radius:18px;box-shadow:0 8px 32px #3b82ed1a}.login-icon{position:absolute;background:#fff;border-radius:50%;box-shadow:0 2px 8px #3b82ed1a;width:48px;height:48px;align-items:center;justify-content:center;font-size:1.04rem;color:#16213e;font-weight:700;display:flex;flex-direction:column;gap:18px;margin-bottom:18px;width:100%;max-width:370px;align-items:flex-start;justify-content:flex-start;top:32px}.login-form{background:#fff;padding:36px 32px 32px;border-radius:18px;box-shadow:0 6px 32px #3b82ed1a;display:flex;flex-direction:column;min-width:340px;gap:20px;border:1.5px solid #e5eaf2;position:relative}.login-logo-area{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:10px}.login-logo{width:54px;height:54px;margin-bottom:2px;border-radius:12px;box-shadow:0 2px 8px #3b82ed1a}.login-form h2{margin-bottom:0;color:#2563eb;font-weight:800;text-align:center;font-size:1.45rem;letter-spacing:.01em}.login-subtitle{color:#64748b;font-size:1.04rem;text-align:center;margin-bottom:2px;font-weight:500}.login-input-group{display:flex;align-items:center;background:#f8fafc;border-radius:8px;border:1.2px solid #ecf1fd;padding:0 8px;margin-bottom:2px;transition:border .18s}.login-input-group:focus-within{border:1.2px solid #3b82ed}.login-input-icon{font-size:1.18rem;color:#3b82ed;margin-right:6px;opacity:.85}.login-input-group input{border:none;background:transparent;flex:1;padding:13px 16px;border-radius:7px;border:1.5px solid #e3e8f0;font-size:1.04rem;color:#26334d;background:#f7fafd;margin-top:6px;margin-bottom:16px;transition:border .18s,box-shadow .18s;width:100%;box-sizing:border-box;outline:none}.login-form button{background:linear-gradient(90deg,#2563eb 60%,#3b82ed);color:#fff;border:none;border-radius:8px;padding:12px 0;font-size:1.08rem;font-weight:700;cursor:pointer;transition:background .18s,box-shadow .18s;box-shadow:0 2px 8px #3b82ed12;margin-top:6px}.login-form button:disabled{background:#a5b4fc;cursor:not-allowed;box-shadow:none}.login-error{color:#e11d48;background:#fef2f2;border-radius:6px;padding:8px 10px;font-size:.98rem;text-align:center;margin-top:4px}.app-header{width:90%;max-width:90%;background:#fff;border-radius:14px;box-shadow:0 2px 12px #3b82ed1a;padding:12px 32px 12px 24px;margin-bottom:24px;display:flex;align-items:center;min-height:54px;border:1px solid #e5eaf2;transition:box-shadow .18s;flex-wrap:nowrap}.app-header:hover{box-shadow:0 4px 20px #3b82ed21}.app-header-bar{width:90%;border-radius:14px;box-shadow:0 2px 12px #3b82ed1a;padding:12px 32px 12px 24px;margin-bottom:24px;display:flex;align-items:center;min-height:54px;border:1px solid #e5eaf2;transition:box-shadow .18s;flex-wrap:nowrap;justify-content:space-between}.header-left{display:flex;align-items:center;font-size:1.12rem;color:#2563eb;font-weight:600;letter-spacing:.01em;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-greeting{color:#222;font-weight:600;border-radius:8px;padding:7px 18px 7px 16px;box-shadow:0 1px 2px #3b82ed0a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-right{display:flex;align-items:center;gap:18px;justify-content:flex-end;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-basis:auto}.header-user{color:#2563eb;font-weight:700;background:#f1f5f9;border-radius:8px;padding:7px 14px;font-size:1.04rem;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-role{color:#64748b;font-size:.99rem;background:#f8fafc;border-radius:8px;padding:7px 12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-logout{background:linear-gradient(90deg,#e11d48 60%,#f43f5e);color:#fff;border:none;border-radius:8px;padding:7px 20px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 1px 4px #e11d4814;transition:background .18s,box-shadow .18s,transform .12s;white-space:nowrap}.header-logout:hover{background:linear-gradient(90deg,#be123c 60%,#e11d48);box-shadow:0 2px 8px #e11d4821;transform:translateY(-1px) scale(1.03)}.app-footer{background:#fff;border-radius:10px;border-top:1px solid #e5e7eb;padding:10px 0;flex-shrink:0;box-shadow:0 -2px 10px #0000000d;margin-top:-80px;min-height:80px}.footer-content{display:flex;justify-content:space-between;align-items:center;max-width:none;margin:0;padding:0 24px}.user-info{display:flex;align-items:center}.username{font-size:14px;color:#374151;font-weight:500}.logout-btn{background:#dc2626;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.logout-btn:hover{background:#b91c1c}.logout-btn:active{background:#991b1b}@media(max-width:768px){.app-footer{padding:10px 0}.footer-content{flex-direction:column;gap:8px;align-items:stretch;padding:0 16px}.user-info{justify-content:center}.logout-btn{align-self:center;min-width:80px}}
