:root{--navy:#273B6C;--gold:#E1C852;--ink:#1e2942;--muted:#738096;--line:#e3e7ee;--bg:#f4f6fa;--white:#fff}
*{box-sizing:border-box}body{margin:0;font-family:"D-DIN","Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-size:15px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a{color:var(--navy)}.login-page{min-height:100vh;display:grid;place-items:center;padding:40px 24px}.login-shell{display:grid;grid-template-columns:1fr 1fr;width:min(100%,1020px);min-height:650px;background:var(--white);border-radius:24px;overflow:hidden;box-shadow:0 18px 70px #273b6c12}.brand-panel{background:var(--navy);color:white;padding:52px 48px;display:flex;flex-direction:column;justify-content:space-between;position:relative}.wordmark{font-size:43px;font-weight:800;letter-spacing:1px;color:var(--gold);line-height:1}.wordmark span{display:block;font-size:10px;letter-spacing:4.5px;margin-top:10px;font-weight:500}.brand-copy{margin:66px 0 54px}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--gold);margin:0 0 20px}.brand-copy h1{font-size:39px;font-weight:650;line-height:1.55;letter-spacing:2px;margin:0 0 22px}.brand-description{color:#d0d7e5;font-size:14px;line-height:1.9;margin:0}.gold-line{display:block;width:42px;height:3px;background:var(--gold);border-radius:5px}.brand-foot p{font-size:12px;color:#d0d7e5;margin:18px 0 0;letter-spacing:1px}.form-panel{padding:68px 56px 36px;display:flex;flex-direction:column;justify-content:center}.small-label{font-size:12px;letter-spacing:2px;color:var(--muted)}.form-heading h2{font-size:28px;margin:10px 0 12px;color:var(--navy);font-weight:650}.form-heading p{font-size:14px;color:var(--muted);margin:0 0 34px}label{display:block;font-size:13px;margin-bottom:9px;font-weight:600}input,select{width:100%;height:48px;border:1px solid #d7deea;border-radius:9px;padding:0 14px;background:#fff;color:var(--ink);outline:none}input::placeholder{color:#a0a9b9}input:focus,select:focus{border-color:var(--navy);box-shadow:0 0 0 3px #273b6c12}#username{margin-bottom:22px}.password-field{position:relative}.password-field input{padding-right:65px}.show-password{position:absolute;right:12px;top:14px;border:0;background:none;color:var(--muted);font-size:12px;padding:2px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line);border-radius:9px;padding:0 18px;text-decoration:none;font-size:14px;font-weight:600;background:#fff;color:var(--navy)}.primary{background:var(--navy);color:white;border-color:var(--navy)}.primary:hover{background:#344d86}.full{width:100%;margin-top:26px}.form-error{font-size:13px;color:#a62d36;line-height:1.6;margin:14px 0 0}.colleague-note{display:flex;gap:12px;background:#f7f8fb;padding:17px 15px;border-radius:10px;margin-top:28px;border-left:3px solid var(--gold)}.note-icon{color:var(--navy);font-size:19px;line-height:1}.colleague-note strong{font-size:12px;font-weight:600}.colleague-note p{font-size:11px;line-height:1.9;color:var(--muted);margin:6px 0 0}.form-footer{font-size:10px;color:#9aa5b7;margin:30px 0 0;text-align:center;letter-spacing:.5px}
.team-header{background:var(--navy);color:white;padding:22px max(24px,calc((100vw - 1100px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.team-brand{font-size:22px;font-weight:750;color:var(--gold);letter-spacing:1px}.team-header a{color:white;font-size:13px;text-decoration:none}.team-main{max-width:1100px;padding:38px 24px 60px;margin:auto}.team-title h1{font-size:28px;color:var(--navy);margin:0 0 10px}.team-title p{color:var(--muted);line-height:1.8;margin:0 0 26px}.team-card{background:white;border:1px solid var(--line);border-radius:14px;padding:26px;margin-bottom:22px}.team-card h2{font-size:17px;margin:0 0 22px}.member-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:16px;align-items:end}.member-form .button{height:48px}.hint{font-size:12px;color:var(--muted);line-height:1.8}.credentials-box{border:1px solid #dfd093;background:#fcf9e9;border-radius:10px;padding:18px;margin-top:20px;line-height:1.9;overflow-wrap:anywhere}.credentials-box p{margin:0}.credentials-box code{font-size:15px;font-weight:600}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}th{text-align:left;font-size:11px;letter-spacing:.5px;color:var(--muted);padding:12px;background:#f7f8fb}td{padding:17px 12px;border-bottom:1px solid #edf0f5}.role-badge{display:inline-block;background:#edf1f8;color:var(--navy);padding:5px 10px;border-radius:20px;font-size:11px}.active-label{color:#257554}.disabled-label{color:#8993a4}.table-action{border:0;background:none;color:var(--navy);font-size:12px;padding:6px 8px}.table-action.danger{color:#a62d36}#teamError{margin-bottom:16px}#teamUser{font-size:12px;color:#d8dfec}.team-empty{text-align:center;color:var(--muted);padding:30px}
@media(max-width:780px){.login-page{padding:20px 14px}.login-shell{grid-template-columns:1fr;max-width:460px;min-height:auto;border-radius:18px}.brand-panel{padding:28px 30px}.wordmark{font-size:32px}.wordmark span{font-size:8px;letter-spacing:3px}.brand-copy{margin:25px 0 0}.brand-copy h1{font-size:26px;line-height:1.4;margin-bottom:0}.brand-copy h1 br{display:none}.eyebrow{margin-bottom:10px;font-size:8px}.brand-description,.brand-foot{display:none}.form-panel{padding:30px}.form-heading h2{font-size:25px}.form-heading p{margin-bottom:25px}.form-footer{margin-top:24px}.member-form{grid-template-columns:1fr 1fr}.team-card{padding:18px}.team-main{padding:26px 16px}.team-title h1{font-size:25px}}@media(max-width:420px){.member-form{grid-template-columns:1fr}.form-panel{padding:26px}.brand-panel{padding:26px}.colleague-note{padding:14px 12px}}
