/* A One visual layer. No field, workflow, API, or database changes. */
.logo:before{background-image:url('/graduate/aone.svg')!important}
:root{--a-ink:#283454;--a-muted:#71809a;--a-line:#dbe2f0;--a-glass:rgba(255,255,255,.64);--a-shadow:0 12px 35px #6374970c;--blue:#627ca8;--blue-dark:#455e8b;--navy:#293a5d;--text:#374966;--muted:#7d8ca4;--line:#dce4f1;--soft:#edf2fa;--cyan:#7e9bb4;--green:#628c79;--amber:#b3915a;--danger:#b77570}
html{font-size:16px}body{color:var(--a-ink);background:radial-gradient(ellipse at 30% 0,#f8fbff 0,transparent 45%),linear-gradient(135deg,#e8eef9,#e0e7f4 65%,#edf2fc);font-family:"PingFang SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;min-height:100svh}
button,input,select,textarea{font-family:inherit}button,input,select{min-height:40px}button{transition:background .22s,box-shadow .22s,transform .22s}button:hover{transform:translateY(-1px)}button:disabled{transform:none;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #667cb3;outline-offset:3px}
.app{max-width:1660px;margin:24px auto;border:1px solid #ffffffd9;border-radius:30px;background:linear-gradient(130deg,#f9fbff91,#edf2fb80);box-shadow:0 22px 80px #586b9220;min-height:calc(100svh - 90px);overflow:clip}
.topbar{position:sticky;top:0;height:auto;min-height:88px;background:#f1f5fbdc;border-bottom:1px solid #ffffffda;backdrop-filter:blur(24px);box-shadow:none;z-index:30}
.topbar-inner{max-width:1560px;min-height:88px;height:auto;padding:18px 32px;gap:24px}
.logo{position:relative;gap:10px;flex-wrap:wrap;max-width:280px}.logo:before{content:"";width:91px;height:29px;background:url('/graduate/aone.png') center/contain no-repeat;flex-shrink:0}.logo .logo-mark{width:29px;height:25px;object-fit:contain}.logo-name{font-size:12px!important;font-weight:500;color:#596781;flex-basis:100%;letter-spacing:.03em}
.topbar nav{margin-left:auto;gap:4px;height:45px;background:#e5ebf666;border:1px solid #fff9;border-radius:25px;padding:4px}
.topbar nav button{padding:0 16px;font-size:14px;border:0;border-radius:22px;min-height:35px;color:#6c7892;background:transparent;white-space:nowrap}
.topbar nav button.active{background:#fff;color:#2e3b61;box-shadow:0 3px 12px #63769913}.topbar nav button:after{display:none}.account{gap:9px}.account .avatar{background:linear-gradient(145deg,#fff,#ced9ec);border:1px solid white;color:#52658c;width:38px;height:38px}.account b{font-size:14px}.account small{font-size:12px;color:#7e89a0}.logout{font-size:13px;color:#76829a}
.content{max-width:1480px;padding:32px 40px 56px}.page-title{margin:28px 0 25px;gap:20px}.page-title h1{font-size:29px;letter-spacing:-.035em;font-weight:600;color:var(--a-ink);line-height:1.4}.page-title>div>span{font-size:12px;letter-spacing:.2em;color:#7d8ba8;font-weight:500}.page-title p{font-size:14px;color:var(--a-muted);line-height:1.7;margin-top:8px}
.primary{background:linear-gradient(135deg,#46567e,#2b385c);border:1px solid #485981;color:#fff;box-shadow:0 6px 16px #34456916;border-radius:22px;font-size:14px;font-weight:500;padding:11px 21px;min-height:43px}.primary:hover{background:linear-gradient(135deg,#54668e,#354569);box-shadow:0 8px 20px #34456924}.secondary,.ghost,.outline{background:#fff9;border:1px solid #c9d3e7;border-radius:22px;color:#506386;font-size:14px;padding:10px 18px}.danger-button{font-size:14px;border-radius:20px;padding:10px 17px}
.panel,.stat-card,.score-strip,.phase-tabs button,.employee-hero,.exam-home-card{border:1px solid #fff;border-radius:22px;box-shadow:var(--a-shadow);background:var(--a-glass);backdrop-filter:blur(15px)}
.panel{overflow:hidden}.panel-heading h3,.panel h3{font-size:17px;color:#344362;font-weight:600}.panel-heading p{font-size:13px;color:var(--a-muted);line-height:1.7}.panel-heading{gap:18px}.stats{gap:17px;margin-bottom:22px}.stat-card{padding:23px 24px;position:relative;min-height:138px}.stat-card>div>span{font-size:14px;color:#6b7993}.stat-card b{font-size:36px;font-weight:500;letter-spacing:-.045em;color:#2c3a5b;line-height:1.3}.stat-card small{font-size:12px;color:#8490a5;margin-top:5px}.stat-icon{border-radius:15px;background:linear-gradient(135deg,#fff,#e1e8f6);color:#6077aa;font-size:23px;border:1px solid #fff}.stat-card.amber .stat-icon{color:#ac8550;background:#f6f0e7}.stat-card.green .stat-icon{color:#5b8b79;background:#eaf3ef}.stat-card.cyan .stat-icon{color:#6587a3;background:#e9f0f7}
.exam-home-card,.exam-home-card.hr{padding:15px 21px;background:linear-gradient(115deg,#f9fbffc9,#e1e9f8b3);border-color:#fff;margin-bottom:26px}.exam-home-icon{background:linear-gradient(135deg,#6079aa,#3c4d75);border-radius:13px}.exam-home-card small{font-size:12px;letter-spacing:.14em;color:#7c8bab;font-weight:500}.exam-home-card b{font-size:16px;color:#344462}.exam-home-card em{font-size:13px;color:#7b88a0;line-height:1.6}.exam-home-card>i{font-size:14px;color:#566d9b}
.process-panel,.deadline-monitor,.operation-record{padding:25px 27px}.process-flow{padding:24px 0 7px;gap:16px}.process-flow i{width:43px;height:43px;background:linear-gradient(145deg,#fff,#e2e9f6);border:1px solid #d7e0ef;color:#657ba5;font-size:14px;box-shadow:0 4px 10px #7587ad10}.process-flow b{font-size:14px;color:#435473}.process-flow span{font-size:12px;color:#8793a9;line-height:1.6}.process-flow em{color:#bbc6da;font-size:20px}.overview-grid{margin-bottom:21px}.deadline-monitor{margin-bottom:22px}.deadline-row{background:transparent;gap:16px;padding:18px 0;border-color:#e5ebf4}.deadline-row:hover{background:#f3f7fe99;transform:none}.deadline-task b,.deadline-date b{font-size:14px;color:#465674}.deadline-task small{font-size:13px;color:#8692a8}.deadline-date small{font-size:12px;color:#8d98ad}.monitor-count{font-size:13px;background:#e8eef9;color:#7385a7;padding:7px 12px}.person>span{background:linear-gradient(145deg,#f8fbff,#dce5f5);color:#687eaa;border:1px solid #fff;border-radius:13px}.person b{font-size:14px;color:#415272}.person small{font-size:12px;color:#8c98ad;line-height:1.6}
.panel-tools{padding:22px 26px;border-bottom:1px solid #e3eaf4}.panel-tools h3{font-size:17px}.search{font-size:14px;height:42px;border:1px solid #d5deed;border-radius:22px;background:#ffffffa6;padding:10px 17px;max-width:100%}.table-scroll{overflow-x:auto;scrollbar-width:thin}table{font-size:14px}thead{background:#eaf0f8b3}th{font-size:13px;font-weight:500;color:#7c8ba3;padding:16px;border-color:#e0e7f1;background:#eaf0f888;white-space:nowrap}td{font-size:14px;padding:20px 16px;border-color:#e3eaf3;color:#4c5d7b}td small{font-size:12px;color:#8794ab}tbody tr:hover{background:#f9fbffb3}.cell-title{font-size:14px;font-weight:500}.pill{font-size:12px!important;font-weight:500;padding:5px 10px!important;border-radius:20px;line-height:1.5;white-space:nowrap}.pill.blue{background:#e8eefb;color:#637ca9}.pill.green{background:#e5f2eb;color:#56866f}.pill.amber{background:#f8efdf;color:#a58044}.pill.danger{background:#f8e9e8;color:#ad6661}.table-actions{gap:7px;flex-wrap:wrap;min-width:195px}.table-actions button,.table-edit,.table-delete{font-size:13px;border-radius:15px;padding:6px 11px;min-height:32px;font-weight:500}.table-edit{background:#f1f5fd;border-color:#d3deef;color:#6a80a9}.table-delete{background:#fdf3f2;border-color:#efd9d7;color:#b6746e}.table-link{font-size:14px;color:#5b74a2}.progress-track{height:5px;background:#e5ebf5}.progress-track i{background:linear-gradient(90deg,#9badd1,#627cab)}.progress-cell span{font-size:12px;color:#8b97ad}.next-milestone>b{font-size:14px}.next-milestone>small{font-size:12px}.empty{font-size:14px;color:#8491a7;padding:38px}
.phase-tabs{gap:15px}.phase-tabs button{padding:20px 24px;color:#6f7f9b}.phase-tabs button.active{background:linear-gradient(130deg,#fff,#e8effb);border-color:#aebfdf;box-shadow:0 6px 22px #657daa0d}.phase-tabs b{font-size:16px}.phase-tabs small{font-size:12px}.score-strip{padding:21px 25px;gap:23px}.score-strip b{font-size:26px;font-weight:500;color:#485d84}.score-strip small,.score-strip span{font-size:13px;color:#7a8ba7}.score-strip .final{background:#edf2fb;border-radius:17px}.eval-section{border-radius:22px;border-color:#fff;background:#ffffffad;margin-top:20px;box-shadow:var(--a-shadow)}.section-heading{padding:23px}.section-heading h3{font-size:18px}.section-heading p{font-size:13px;line-height:1.7}.section-number{background:#e4ebf9;color:#7086ac;border-radius:12px}.goal-head,.score-head{font-size:13px;background:#eaf0f8;color:#71829f}.goal-row,.score-row{background:#fbfcff88;border-color:#e1e8f4}.goal-row input,.goal-row textarea,.score-row input,.score-row textarea{font-size:14px;line-height:1.7;border-radius:11px;background:#fff9;border-color:#d6dfed;color:#455772}.score-row b{font-size:14px}.score-row p{font-size:13px;line-height:1.8;color:#7b89a1}.comment-grid label{font-size:14px}.comment-grid textarea{font-size:14px;border-radius:14px;background:#fff9;border-color:#d6dfed;line-height:1.8}.locked-notice{font-size:14px;line-height:1.7;background:#eaf0f9;border:1px solid #fff;border-radius:15px;color:#7485a2}.save-row{padding:23px;gap:15px}.save-row>span{font-size:14px}.operation-item b{font-size:14px}.operation-item p{font-size:13px;line-height:1.7}.operation-item time{font-size:12px}.operation-dot{background:#879cc4;box-shadow:0 0 0 4px #edf2fa}
.employee-hero{background:linear-gradient(120deg,#e1e9f8,#f6f9ff);color:var(--a-ink);padding:32px}.employee-hero h2{font-size:26px;font-weight:500}.employee-hero p{font-size:14px;color:#7988a2;line-height:1.8}.employee-hero button{font-size:14px;background:#fff9;color:#526d9c;border:1px solid white;border-radius:25px;padding:12px 19px}.employee-hero .pill.white{color:#6c83a9;background:#fff9}.hero-ring circle{stroke:#cbd7eb}.hero-ring .ring-progress{stroke:#758db9}.hero-ring span{font-size:12px;color:#7b8baa}.hero-ring span b{color:#526e9e}.timeline-row{padding:21px;border-radius:17px;background:#f8faff8c;border-color:#e0e7f2}.timeline-row.done{background:#f1f8f4a1;border-color:#d6e8df}.timeline-row.overdue{background:#fdf5f2a1;border-color:#ecdbd5}.timeline-row-title b{font-size:16px}.timeline-row-main p{font-size:14px;line-height:1.8}.timeline-row-main small{font-size:12px;line-height:1.8}.timeline-row-deadline span{font-size:12px}.timeline-row-deadline b{font-size:14px}.timeline-row-index{background:#e4ebf8;color:#6e84ae;font-size:13px}.info-card dt,.info-card dd,.mini-rule p{font-size:14px;line-height:1.8}
.modal-shade{background:#43537161;backdrop-filter:blur(9px);padding:25px}.modal,.exam-modal,.exam-results{border:1px solid #fff;border-radius:26px;background:linear-gradient(135deg,#f9fbff,#eaf0fa);box-shadow:0 30px 100px #2b3c6336;color:var(--a-ink)}.modal h3,.modal-head h3,.exam-modal h2{font-size:22px;font-weight:600}.modal p,.modal label,.modal-head p{font-size:14px;line-height:1.8}.modal input,.modal select,.modal textarea,.form-grid input,.form-grid select,.form-grid textarea{font-size:14px;min-height:44px;border-radius:12px;border-color:#d3ddec;background:#fff9;padding:11px 13px;color:#405475}.modal-actions{gap:13px}.modal-close{font-size:22px}.account-tabs button{font-size:14px;border-radius:22px;border-color:#d6dfee;background:#ffffff8c;color:#7585a0}.account-tabs button.active{background:#fff;border-color:#acbddc;color:#536d9c}.account-tabs span{font-size:12px;background:#e4ebf8}.account-message{font-size:14px;border-radius:13px;background:#edf3fc;color:#6079a4;border-color:#d5e0f1}.account-hint{font-size:13px}.exam-modal-head{background:transparent}.exam-questions h3{font-size:16px}.exam-options button{font-size:14px;min-height:45px;border-radius:13px}.exam-footer{background:#f4f7fd;border-color:#e0e7f2}.exam-footer span{font-size:13px}.exam-home-card{box-shadow:none}.duration,.defense-date{font-size:14px}.defense-grid label,.midterm-main label,.defense-grid p,.midterm-main p{font-size:14px;line-height:1.8}.defense-grid input,.defense-grid select,.defense-grid textarea,.midterm-main input,.midterm-main select,.midterm-main textarea{font-size:14px;border-color:#d5dfef;border-radius:12px;background:#ffffffb3}.defense-grid small,.midterm-main small{font-size:12px;line-height:1.7}
.login-page{min-height:100svh;padding:45px;background:radial-gradient(ellipse at 30% 0,#fff9,transparent 65%),linear-gradient(135deg,#e2e9f6,#eef3fc);display:flex;justify-content:center;align-items:center}.login-panel{width:min(1100px,100%);padding:0}.login-card{grid-template-columns:1.06fr 1fr;min-height:680px;border:1px solid #fff;border-radius:32px;background:#ffffff7a;box-shadow:0 28px 80px #60729821;backdrop-filter:blur(24px)}.login-brand-panel{padding:42px;background:linear-gradient(135deg,#f8faff66,#dbe4f566);border-right:1px solid white}.login-brand-panel .logo{max-width:100%;gap:12px}.login-brand-panel .logo:before{width:116px;height:35px}.login-brand-panel .logo-name{font-size:12px!important;flex-basis:auto}.login-brand-panel .logo-mark{width:26px;height:23px}.brand-copy{margin:45px 0 auto}.brand-copy h2{font-size:41px;letter-spacing:.025em;font-weight:500;color:#2f3e61;line-height:1.32}.brand-copy>span{font-size:12px;letter-spacing:.24em;font-weight:500;color:#7f90b0}.brand-visual{right:4%;bottom:8px;width:92%;height:345px;background:url('/graduate/xinrui-ip-soft.png') center/contain no-repeat;filter:drop-shadow(0 18px 20px #61729818);border-radius:0;animation:aone-float 7s ease-in-out infinite}.brand-visual:before,.brand-visual:after,.brand-visual>*{display:none}.login-aura,.login-grid{display:none}.login-form-panel{padding:55px 55px 45px}.form-eyebrow{font-size:12px;font-weight:500;letter-spacing:.2em;color:#8a9bb8}.login-form-panel h2{font-size:29px;font-weight:500;letter-spacing:.025em;color:#344463}.login-form-panel .subtle{font-size:14px;color:#8391a8;line-height:1.7;margin-bottom:32px}.login-form-panel label{font-size:14px;font-weight:500;color:#687b9a}.login-form-panel input{height:53px;border-radius:15px;background:#ffffff8f;border:1px solid #d7e0ef;color:#405676;font-size:15px;box-shadow:inset 0 1px 3px #657daa05}.login-form-panel .primary{height:51px;border-radius:26px;background:linear-gradient(130deg,#50648d,#33436a);box-shadow:0 10px 25px #33497420;font-size:15px}.feishu-login{font-size:14px;border-radius:25px;background:#ffffffad;border-color:#fff;color:#6d81a4;font-weight:500}.feishu-login span{background:#8aa2cc}.feishu-login-note,.login-form-panel .login-foot{font-size:12px;color:#8d9bb2;line-height:1.9}.login-divider{font-size:12px;color:#a1afc5}.loading{background:#eaf0fa;color:#7284a4}
@keyframes aone-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(min-width:1700px){.app{margin:32px auto}}
@media(max-width:1200px){.app{margin:16px}.topbar-inner{flex-wrap:wrap;gap:12px;padding:18px 25px}.topbar nav{order:3;width:100%;justify-content:center;margin:0}.account{margin-left:auto}.content{padding:25px}.logo-name{flex-basis:auto}.logo{max-width:none}.stats{gap:12px}.stat-card{padding:20px}.process-flow{overflow-x:auto;justify-content:space-between;gap:15px}.process-flow>div{min-width:100px}.login-brand-panel{padding:35px}.login-form-panel{padding:45px 35px}}
@media(max-width:760px){.app{margin:10px;border-radius:22px;min-height:calc(100svh - 90px)}.topbar{position:relative}.topbar-inner{padding:16px}.topbar nav{height:47px;overflow-x:auto;justify-content:flex-start;flex-wrap:nowrap}.topbar nav button{font-size:14px;padding:0 15px}.logo-name{font-size:12px!important;flex-basis:100%}.logo:before{width:83px;height:26px}.topbar .logo-mark{width:25px;height:21px}.content{padding:16px 16px 36px}.page-title{margin:20px 0;align-items:flex-start;flex-wrap:wrap}.page-title h1{font-size:24px}.page-title p{font-size:14px}.stats{grid-template-columns:1fr 1fr}.stat-card{padding:17px 13px;min-height:130px;gap:10px}.stat-card b{font-size:30px}.stat-icon{width:33px;height:33px;font-size:19px}.stat-card>div>span{font-size:13px}.stat-card small{font-size:12px}.panel-heading{flex-wrap:wrap}.process-panel,.deadline-monitor,.operation-record{padding:20px}.panel-tools{padding:18px;flex-wrap:wrap}.panel-tools .search{width:100%}.deadline-row{grid-template-columns:1fr auto}.deadline-task{grid-column:1/-1}.deadline-date{display:none}.table-scroll table{min-width:900px}.exam-home-card{padding:15px;gap:12px;flex-wrap:wrap}.exam-home-card>i{margin-left:52px}.exam-home-card em{font-size:13px}.employee-hero{padding:23px}.employee-hero h2{font-size:22px;line-height:1.6}.timeline-row-main p{font-size:14px}.modal-shade{padding:14px}.login-page{padding:20px 14px}.login-card{display:block;min-height:0;border-radius:26px}.login-brand-panel{min-height:270px;padding:28px;border-right:0;border-bottom:1px solid white}.brand-copy{margin-top:38px;max-width:60%}.brand-copy h2{font-size:30px}.brand-copy>span{font-size:12px;letter-spacing:.08em}.brand-visual{height:200px;width:50%;right:0;bottom:0}.login-form-panel{padding:32px 28px}.login-form-panel h2{font-size:26px}.login-brand-panel .logo-name{flex-basis:100%}.login-form-panel .subtle{font-size:14px}.account small{display:none}.account b{font-size:13px}}
/* Brand placement: A One on sign-in; company identity inside the workspace. */
.login-brand-panel .logo .logo-mark{display:none}
.login-brand-panel .logo{align-items:center;gap:14px}
.topbar .logo:before{content:none;display:none}
.topbar .logo{flex:0 0 auto;max-width:none;flex-wrap:nowrap;gap:11px;align-items:center}
.topbar .logo .logo-mark{width:35px;height:30px;flex:none;object-fit:contain}
.topbar .logo .logo-name{flex:0 0 auto;font-size:14px!important;line-height:1.5;white-space:nowrap;letter-spacing:0}
.topbar-inner{column-gap:22px;row-gap:14px}

/* Equal steps and continuous, restrained circular markers. */
.process-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;gap:0;margin-top:28px;padding:8px 0 3px;overflow:visible}
.process-flow>em{display:none}
.process-flow>div{position:relative;min-width:0;display:grid;grid-template-rows:48px auto auto;justify-items:center;align-content:start;gap:11px;text-align:center;padding:0 8px}
.process-flow>div:not(:last-child):after{content:"";position:absolute;top:24px;left:calc(50% + 32px);width:calc(100% - 64px);height:1px;background:linear-gradient(90deg,#cbd7e9,#dde5f1);pointer-events:none}
.process-flow i{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid #ffffff;background:linear-gradient(145deg,#ffffff,#e5edf9);box-shadow:0 4px 12px #677eaa12,inset 0 1px 0 #fff;color:#6d83a9;font-size:15px;font-weight:500;line-height:1;letter-spacing:.025em;font-variant-numeric:tabular-nums}
.process-flow b{font-size:14px;line-height:1.6;font-weight:500;white-space:nowrap}
.process-flow span{font-size:12px;line-height:1.6;white-space:nowrap;margin-top:-6px}

/* Identical columns for every row; status length cannot move other columns. */
.deadline-row{grid-template-columns:minmax(180px,1fr) minmax(260px,1.9fr) 122px 148px 18px;column-gap:20px;align-items:center;min-height:88px;text-align:left}
.deadline-row>*{min-width:0}
.deadline-task,.deadline-date{justify-items:start;align-content:center;gap:5px;text-align:left}
.deadline-task b,.deadline-date b,.deadline-task small,.deadline-date small{display:block;margin:0;line-height:1.6}
.deadline-task small{white-space:normal;overflow-wrap:anywhere}
.deadline-date b{font-variant-numeric:tabular-nums;white-space:nowrap}
.deadline-row>.pill{justify-self:start;width:max-content;max-width:100%;text-align:center}
.deadline-row>i{justify-self:center;line-height:1}
.deadline-row:hover{transform:none}
.person{min-width:0;gap:11px;align-items:center}
.person>span{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;line-height:1}
.person>div{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;text-align:left}
.person b,.person small{margin:0;line-height:1.55;overflow-wrap:anywhere}

/* Preserve native table columns, including the two formerly flex-styled cells. */
.table-panel table{table-layout:auto;border-collapse:collapse}
.table-panel td,.table-panel td:nth-child(2),.table-panel td:nth-child(3){display:table-cell;vertical-align:middle;text-align:left}
.table-panel th{vertical-align:middle;text-align:left;line-height:1.6}
.table-panel td>.cell-title,.table-panel td>small{display:block;line-height:1.6}
.table-panel td>small{margin-top:4px}
.table-panel td:nth-child(3){font-variant-numeric:tabular-nums;white-space:nowrap}
.table-panel .account-table td:nth-child(3){white-space:normal;overflow-wrap:anywhere}
.next-milestone{justify-items:start;gap:5px}
.next-milestone>.pill{width:max-content}
.table-actions{display:flex;align-items:center;justify-content:flex-start;gap:7px;max-width:270px}
.table-actions button{line-height:1.4;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}
.progress-cell{min-width:100px;align-items:center}
.panel-tools{align-items:center}
.panel-tools>div:first-child{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.panel-tools>div:first-child>span{font-size:13px;line-height:1.6;color:#8491a8}
.search{display:flex;align-items:center;gap:9px;min-width:0}
.search input{width:100%;min-width:0;min-height:0;line-height:1.5;margin:0;padding:0;border:0;background:transparent;font-size:14px}
.search>span{display:grid;place-items:center;flex:none;line-height:1}

/* Shared alignment fixes for evaluation, defense, forms and dialogs. */
.title-actions,.modal-actions,.defense-actions,.save-row{align-items:center;flex-wrap:wrap;gap:12px}
.title-actions button,.modal-actions button,.defense-actions button,.save-row button{display:inline-flex;align-items:center;justify-content:center;line-height:1.4}
.phase-tabs>button,.defense-details .phase-tabs>button{padding-right:165px;min-width:0;align-content:center;gap:5px}
.phase-tabs button>span,.phase-tabs button>b{line-height:1.5;margin:0}
.phase-tabs .pill{max-width:145px;text-align:center;line-height:1.5}
.score-strip{align-items:center;gap:18px}
.score-strip>div:not(.divider){flex:0 0 auto;grid-template-rows:auto 36px auto;gap:5px;align-content:center;min-width:110px}
.score-strip b{line-height:36px;margin:0;font-variant-numeric:tabular-nums}
.score-strip span,.score-strip small{line-height:1.5;white-space:nowrap}
.section-heading{align-items:flex-start;gap:13px}
.section-heading>span{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;line-height:1;border-radius:50%}
.section-heading>div{min-width:0;flex:1}
.section-heading h3{line-height:1.5;margin:0}
.section-heading p{line-height:1.7;margin-top:5px}
.section-heading>b{flex:none;line-height:1.6;margin-top:3px;white-space:nowrap}
.eval-section .goal-head,.eval-section .goal-row{grid-template-columns:58px minmax(165px,1fr) minmax(220px,1.5fr) minmax(180px,.9fr) minmax(180px,1.15fr) 84px 84px 58px;min-width:1180px}
.goal-head>span{display:flex;align-items:center;line-height:1.5}
.goal-head>span:first-child,.goal-head>span:nth-child(n+6){justify-content:center}
.goal-index,.goal-score,.goal-action{display:flex;justify-content:center;align-items:flex-start}
.goal-score input{text-align:center;font-variant-numeric:tabular-nums;min-width:0;width:100%}
.eval-section .score-head,.eval-section .score-row{grid-template-columns:minmax(120px,1fr) minmax(350px,3fr) 72px 100px 100px;gap:16px;padding:14px 18px;min-width:850px}
.score-head>span:nth-child(n+3),.score-row>span{text-align:center}
.score-row>input{text-align:center;font-variant-numeric:tabular-nums;width:100%;min-width:0}
.score-row>b,.score-row>.standard-text{margin:0;line-height:1.7}
.comment-grid>label,.form-grid>label,.midterm-form-grid>label,.defense-review-grid>label{display:grid;grid-template-rows:auto 1fr;align-content:start;gap:8px;min-width:0;line-height:1.6}
.comment-grid textarea,.form-grid input,.form-grid select,.midterm-form-grid input,.defense-review-grid input,.defense-review-grid select{width:100%;min-width:0;margin:0;box-sizing:border-box}
.summary-row,.defense-details .summary-row{grid-template-columns:88px minmax(0,1fr) 132px;align-items:center;gap:16px}
.summary-row>.pill{justify-self:start;width:max-content;max-width:100%}
.operation-item{grid-template-columns:15px minmax(0,1fr) 150px;align-items:start}
.operation-item time{text-align:right;line-height:1.7;font-variant-numeric:tabular-nums}
.info-card dl>div{align-items:start;gap:16px}
.info-card dt{flex:0 0 90px;line-height:1.7}
.info-card dd{min-width:0;line-height:1.7;margin:0}
.reviewer>div{min-width:0;gap:4px}
.reviewer b,.reviewer small{line-height:1.6;margin:0}
.uploaded-file{align-items:center;gap:14px;flex-wrap:wrap}
.uploaded-file>div{min-width:0;flex:1}
.uploaded-file b,.uploaded-file small{line-height:1.6;overflow-wrap:anywhere}

@media(max-width:1200px){
  .deadline-row{grid-template-columns:minmax(160px,1fr) minmax(180px,1.5fr) 112px 136px 16px;column-gap:14px}
  .process-flow{grid-template-columns:repeat(6,minmax(110px,1fr));overflow-x:auto;padding-bottom:12px;scrollbar-width:thin}
  .process-flow>div{min-width:0}
}
@media(max-width:760px){
  .topbar .logo{gap:8px}
  .topbar .logo .logo-mark{width:29px;height:26px}
  .topbar .logo .logo-name{font-size:13px!important;flex-basis:auto}
  .topbar-inner{column-gap:12px}
  .topbar .account{margin-left:auto}
  .deadline-row{grid-template-columns:minmax(0,1fr) 130px;gap:12px 16px;padding:18px 0;min-height:0}
  .deadline-row>.person{grid-column:1;grid-row:1}
  .deadline-row>.pill{grid-column:2;grid-row:1;justify-self:end}
  .deadline-task{grid-column:1/-1;grid-row:2;padding-left:47px}
  .deadline-date{display:grid;grid-column:1/-1;grid-row:3;grid-template-columns:72px 1fr;align-items:baseline;padding-left:47px;gap:8px}
  .deadline-row>i{display:none}
  .process-flow{margin-top:20px;grid-template-columns:repeat(6,124px);justify-content:start}
  .panel-tools{align-items:stretch}
  .panel-tools>div:first-child{align-items:baseline}
  .phase-tabs>button,.defense-details .phase-tabs>button{padding-left:17px;padding-right:150px}
  .phase-tabs .pill{right:12px;max-width:132px}
  .title-actions{width:100%;justify-content:flex-start}
  .section-heading{flex-wrap:wrap}
  .section-heading>b{margin-left:45px}
  .summary-row,.defense-details .summary-row{grid-template-columns:72px minmax(0,1fr);gap:8px 12px}
  .summary-row>.pill{grid-column:2;justify-self:start}
  .operation-item{grid-template-columns:15px minmax(0,1fr);gap:8px 10px}
  .operation-item time{grid-column:2;text-align:left}
  .form-grid>label,.midterm-form-grid>label,.defense-review-grid>label{grid-template-rows:auto auto}
}
@media(min-width:761px) and (max-width:900px){.deadline-row{grid-template-columns:140px minmax(160px,1fr) 105px 120px 16px;column-gap:12px}.deadline-row .person>span{flex-basis:32px;width:32px;height:32px}}
@media(max-width:420px){.topbar .account{flex:0 0 100%;justify-content:flex-end;margin-top:-4px}.deadline-row{grid-template-columns:minmax(0,1fr) 112px;gap:12px}.deadline-row>.pill{font-size:12px!important;padding:5px 8px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Stage evaluation: fit the available panel width, with shared compact columns. */
.eval-section{container-type:inline-size}
.eval-section .goal-table,.eval-section .score-table{width:100%;min-width:0;overflow:visible}
.eval-section .goal-head,.eval-section .goal-row{
  grid-template-columns:44px minmax(0,1fr) minmax(0,1.4fr) 156px minmax(0,1.1fr) 80px 80px;
  min-width:0;width:100%;
}
.eval-section .goal-head>span:last-child,.eval-section .goal-row>.goal-action{display:none}
.eval-section .goal-head>span{white-space:normal;padding:12px 8px;font-weight:500}
.eval-section .goal-row>div{padding:10px 8px;min-width:0}
.eval-section .goal-row>div:nth-child(7),.eval-section .goal-head>span:nth-child(7){border-right:0}
.eval-section .goal-meta{justify-content:flex-start}
.eval-section .goal-row textarea{min-width:0;width:100%;min-height:148px;box-sizing:border-box}
.eval-section .goal-score input{padding:0 4px}
.eval-section .score-head,.eval-section .score-row{
  grid-template-columns:108px minmax(0,1fr) 60px 88px 88px;
  column-gap:14px;padding:16px 18px;min-width:0;width:100%;
}
.eval-section .score-head>* ,.eval-section .score-row>*{min-width:0;overflow-wrap:anywhere}
.eval-section .score-head>span{line-height:1.6;font-weight:500}
.eval-section .score-row>b{align-self:start;padding-top:3px}
.eval-section .score-row>.standard-text{line-height:1.8}

@container(max-width:900px){
  .eval-section .goal-head{display:none}
  .eval-section .goal-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px}
  .eval-section .goal-row:first-of-type{border-top:0}
  .eval-section .goal-row>div{border:0;padding:0;display:grid;gap:7px;align-content:start}
  .eval-section .goal-row>.goal-index{grid-column:1/-1;display:flex;justify-content:flex-start;align-items:center;background:transparent;font-size:14px}
  .eval-section .goal-index:before{content:'工作目标';font-weight:500;margin-right:8px}
  .eval-section .goal-main:before{content:'主要目标'}
  .eval-section .goal-result:before{content:'关键结果产出'}
  .eval-section .goal-note:before{content:'完成情况'}
  .eval-section .goal-score:nth-child(6):before{content:'员工自评'}
  .eval-section .goal-score:nth-child(7):before{content:'上级评分'}
  .eval-section .goal-row>div:before{font-size:13px;color:#71829f;line-height:1.6}
  .eval-section .goal-row>.goal-meta{display:flex;gap:12px}
  .eval-section .goal-row>.goal-score{justify-content:stretch}
  .eval-section .goal-row>.goal-action{display:none}
  .eval-section .goal-row textarea{min-height:120px}
}
@container(max-width:600px){
  .eval-section .score-head{display:none}
  .eval-section .score-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;padding:16px}
  .eval-section .score-row>b{grid-column:1/-1;grid-row:1;padding:0}
  .eval-section .score-row>.standard-text{grid-column:1/-1;grid-row:2;margin-bottom:8px}
  .eval-section .score-row>span{grid-column:1;grid-row:3/5;align-self:end;display:grid;gap:8px;line-height:40px}
  .eval-section .score-row>span:before{content:'权重';font-size:12px;line-height:20px}
  .eval-section .score-row:before{content:'员工自评';grid-column:2;grid-row:3}
  .eval-section .score-row:after{content:'上级评分';grid-column:3;grid-row:3}
  .eval-section .score-row:before,.eval-section .score-row:after{text-align:center;font-size:12px;line-height:20px;color:#71829f}
  .eval-section .score-row>input:nth-child(4){grid-column:2;grid-row:4}
  .eval-section .score-row>input:nth-child(5){grid-column:3;grid-row:4}
}
@container(max-width:420px){
  .eval-section .goal-row>.goal-main,.eval-section .goal-row>.goal-result,.eval-section .goal-row>.goal-meta,.eval-section .goal-row>.goal-note{grid-column:1/-1}
  .eval-section .goal-row>.goal-meta{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
}

/* Score fields: consistent compact controls, centered beneath the column labels. */
.eval-section .goal-score{display:flex;align-items:center;justify-content:center;min-width:0}
.eval-section .goal-score input,
.eval-section .score-row>input[type="number"]{
  box-sizing:border-box;width:60px;max-width:100%;height:36px;min-height:36px;
  margin:0 auto;padding:0 6px;border:1px solid #cbd6e8;border-radius:7px;
  background:#fff;color:#405676;font-family:inherit;font-size:14px;font-weight:500;line-height:normal;
  text-align:center;font-variant-numeric:tabular-nums;
  box-shadow:none;appearance:textfield;-moz-appearance:textfield;align-self:center;
}
.eval-section .goal-score input::-webkit-inner-spin-button,
.eval-section .goal-score input::-webkit-outer-spin-button,
.eval-section .score-row>input[type="number"]::-webkit-inner-spin-button,
.eval-section .score-row>input[type="number"]::-webkit-outer-spin-button{appearance:none;-webkit-appearance:none;margin:0}
.eval-section .goal-score input:disabled,
.eval-section .score-row>input[type="number"]:disabled{opacity:1;background:#f3f6fb;border-color:#e0e6f0;color:#7c8aa2}
.eval-section .goal-score input:focus-visible,
.eval-section .score-row>input[type="number"]:focus-visible{border-color:#6c85b0;box-shadow:0 0 0 3px #6c85b019;outline:none}
.login-brand-panel .logo .logo-name{display:none!important}

/* Standard typography shared by the two management platforms. */
body,input,button,textarea,select{font-family:'Alibaba PuHuiTi','PingFang SC','Microsoft YaHei',sans-serif}
.grade-value{height:44px;display:flex;align-items:center;padding:0 14px;border:1px solid #d5dfef;border-radius:10px;background:#f6f8fc;color:#405676;font-size:16px;font-weight:500}
.defense-review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grade-legend{font-size:13px;line-height:1.8;color:#7b89a1;margin:14px 0}
@media(max-width:760px){.defense-review-grid{grid-template-columns:1fr}.grade-value{font-size:14px}}

.process-flow{grid-template-columns:repeat(5,minmax(0,1fr))}.single-phase{grid-template-columns:minmax(0,1fr)}.process-flow b,.process-flow span{white-space:normal}

@font-face{font-family:'Alibaba PuHuiTi';font-style:normal;font-weight:400;font-display:swap;src:url('alibaba-puhui.woff') format('woff')}

/* Standard Emerging Talent character */
.brand-visual{width:82%;right:9%;height:300px;bottom:14px;border-radius:26px;filter:none}.brand-copy h2{font-size:clamp(28px,3.2vw,38px)}
@media(max-width:760px){.brand-visual{width:44%;right:3%;height:185px;bottom:8px}.brand-copy h2{font-size:26px}}

.defense-outcome{display:flex;align-items:center;min-height:40px;padding:9px 12px;border:1px solid #d7e0ef;border-radius:8px;background:#f5f8fc;white-space:normal;line-height:1.6;overflow-wrap:anywhere;font-size:14px}

/* Optical centering of the cover mascot */
@media(min-width:761px){.brand-visual{left:calc(50% - 8px);right:auto;margin-left:-41%;bottom:38px}}
@media(max-width:760px){.brand-visual{right:5%;bottom:14px}}
