:root{--blue-950:#0b244c;--blue-900:#0d2d60;--blue-800:#16417e;--blue-700:#1658b7;--blue-600:#216cda;--blue-100:#e8f1ff;--blue-50:#f3f8ff;--ink:#183052;--muted:#526782;--line:#d9e4f1;--canvas:#f3f7fc;--white:#fff;--good:#18725d;--good-bg:#e8f6f1;--warn:#926315;--warn-bg:#fff4dc;--bad:#b34b50;--bad-bg:#fff0f0;--shadow:0 9px 32px rgba(10,37,81,.07);--font:"Google Sans","Noto Sans Thai",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font:14px/1.55 var(--font);font-optical-sizing:auto;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}[hidden]{display:none!important}::selection{background:#bed8ff;color:#082453}a{color:var(--blue-700);text-underline-offset:3px}a:hover{color:var(--blue-800)}:focus-visible{outline:3px solid #7bb1ff!important;outline-offset:2px!important}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}.icon-sm{width:17px;height:17px}.btn{border-radius:10px;font-weight:600;min-height:42px;padding:8px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:none!important}.btn-primary{background:var(--blue-700);border-color:var(--blue-700)}.btn-primary:hover,.btn-primary:focus{background:var(--blue-800);border-color:var(--blue-800)}.btn-outline-primary{color:var(--blue-700);border-color:#b3c9e8;background:#fff}.btn-outline-primary:hover{background:var(--blue-100);color:var(--blue-800);border-color:#8bb0e1}.btn-quiet{color:var(--blue-800);background:#eff5fe;border:1px solid transparent}.btn-quiet:hover{background:#e2edfd}.btn-danger-quiet{color:var(--bad);background:var(--bad-bg);border:1px solid transparent}.btn-sm{min-height:34px;padding:5px 10px;font-size:14px;border-radius:8px}.form-control,.form-select{border:1px solid #c9d8eb;border-radius:9px;min-height:42px;color:var(--ink);background-color:#fff}.form-control:focus,.form-select:focus{border-color:var(--blue-600);box-shadow:0 0 0 3px #d6e7ff}textarea.form-control{min-height:110px}.form-label{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:6px}.form-hint{font-size:14px;color:var(--muted);margin-top:5px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-grid .span-2{grid-column:1/-1}.form-section{padding:22px 0;border-top:1px solid var(--line)}.form-section:first-of-type{border-top:0}.form-section h3{font-size:16px;font-weight:700;margin:0 0 17px}.form-section p{color:var(--muted)}.required{color:var(--bad)}
.login-view{min-height:100vh;display:grid;grid-template-columns:minmax(420px,53%) 1fr;background:#fff}.login-frame{position:relative;min-height:650px;padding:38px clamp(34px,6vw,100px);display:flex;flex-direction:column;color:#fff;background:radial-gradient(circle at 83% 16%,#387bdf 0,#1b58b2 27%,transparent 57%),linear-gradient(145deg,#0b244c,#123a7b 72%,#215db2);overflow:hidden}.login-frame:after{content:"";position:absolute;width:80%;height:100%;right:-18%;bottom:-45%;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 64px rgba(255,255,255,.025),0 0 0 128px rgba(255,255,255,.025);pointer-events:none}.login-identity{display:flex;align-items:center;gap:13px;font-size:16px;font-weight:700;letter-spacing:.03em}.brand-emblem{height:38px;width:38px;border-radius:11px;display:inline-grid;place-items:center;color:#fff;background:#4386eb;font-size:14px;letter-spacing:.04em;font-weight:800;flex:none}.login-frame .brand-emblem{background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.35)}.login-copy{position:relative;margin:auto 0;z-index:1}.login-number{color:#b8d8ff;font-size:14px;margin-bottom:20px}.login-copy h1{font-size:clamp(38px,4.8vw,68px);line-height:1.12;letter-spacing:-.035em;font-weight:700;margin:0 0 25px}.login-copy p{font-size:16px;line-height:1.8;color:#cfe3ff}.login-foot{position:relative;z-index:1;color:#abcaf0;font-size:14px}.login-form-wrap{display:grid;place-items:center;padding:32px}.login-form{width:min(100%,380px)}.login-form .form-caption{font-size:14px;color:var(--blue-700);font-weight:700;margin-bottom:8px}.login-form h2{font-size:30px;letter-spacing:-.025em;font-weight:700;margin:0 0 8px}.login-form p{color:var(--muted);margin-bottom:32px}.login-form label{display:block;font-size:14px;font-weight:700;margin:20px 0 7px}.login-form .btn{margin-top:28px;height:48px}.login-form small{display:block;text-align:center;color:var(--muted);margin-top:20px}
.app-shell{min-height:100vh;display:flex}.sidebar{width:268px;position:fixed;inset:0 auto 0 0;z-index:20;display:flex;flex-direction:column;background:var(--blue-950);color:#eaf2ff;padding:22px 13px 16px}.side-brand{display:flex;align-items:center;gap:11px;padding:2px 10px 20px}.side-brand strong{display:block;font-size:16px;letter-spacing:.02em}.side-brand small{display:block;font-size:14px;color:#a9c2e6;line-height:1.3;margin-top:2px}.side-profile{border:1px solid #385988;border-radius:14px;padding:15px;margin:0 3px 16px;background:#173867}.profile-top{display:flex;gap:10px;align-items:center}.profile-avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;background:#3772c7;font-weight:700;font-size:14px}.profile-name{font-size:14px;font-weight:700;line-height:1.25}.profile-role{color:#c5d8f2;font-size:14px}.profile-tenure{margin-top:13px;padding-top:12px;border-top:1px solid #3a5b89;display:grid;gap:7px}.profile-tenure div{display:flex;justify-content:space-between;gap:8px;font-size:14px;color:#b9d0f0}.profile-tenure strong{color:#fff;font-weight:600;text-align:right}.side-nav{overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#375989 transparent}.nav-label{padding:14px 13px 6px;color:#8faed7;font-size:14px;font-weight:700;letter-spacing:.08em}.nav-link-item{display:flex;align-items:center;gap:12px;min-height:42px;margin:2px 0;padding:9px 13px;border-radius:10px;color:#bdcff0;text-decoration:none;font-size:14px;transition:background .18s,color .18s}.nav-link-item:hover{color:#fff;background:#1c437e}.nav-link-item.active{color:#fff;background:#2561b1;font-weight:700}.nav-link-item .icon{width:18px;height:18px}.nav-link-item .nav-count{margin-left:auto;background:#fff;color:var(--blue-800);border-radius:8px;padding:1px 6px;font-size:14px}.side-bottom{margin-top:auto;padding-top:12px;border-top:1px solid #33517d}.side-utility{width:100%;border:0;background:transparent;color:#b8ceee;display:flex;align-items:center;gap:11px;min-height:39px;padding:8px 13px;text-align:left;border-radius:9px;font-size:14px}.side-utility:hover{background:#1d427a;color:#fff}.side-utility .icon{width:17px;height:17px}.main-column{margin-left:268px;width:calc(100% - 268px);min-width:0}.topbar{height:74px;padding:0 32px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar-start,.topbar-end{display:flex;align-items:center;gap:18px}.topbar-product{font-size:14px;font-weight:800;color:var(--blue-800);letter-spacing:.04em}.topbar-context{font-size:14px;color:var(--muted)}.top-period{display:inline-flex;align-items:center;background:var(--blue-50);border:1px solid #dae8fb;border-radius:9px;padding:7px 10px;color:var(--blue-800);font-size:14px;font-weight:700;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-button{position:relative;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--blue-800)}.icon-button:hover{background:var(--blue-50)}.notice-button i{position:absolute;top:1px;right:1px;min-width:17px;height:17px;display:grid;place-items:center;background:#d94750;color:#fff;font-size:14px;font-style:normal;border:2px solid #fff;border-radius:50%}.top-avatar{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#dceaff;color:var(--blue-800);font-weight:800;font-size:14px}.mobile-menu{display:none}.content{width:min(100%,1480px);margin:auto;padding:30px 32px 48px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.page-head h1{font-size:26px;font-weight:700;letter-spacing:-.025em;margin:0 0 6px}.page-head p{color:var(--muted);margin:0;font-size:14px}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.page-intro{font-size:14px;color:var(--blue-700);font-weight:700;margin-bottom:5px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.panel+.panel{margin-top:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 20px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:15px;font-weight:700}.panel-head small{color:var(--muted)}.panel-body{padding:20px}.empty{padding:44px 20px;text-align:center;color:var(--muted)}.empty .icon{width:31px;height:31px;color:#93add2;margin-bottom:12px}.empty strong{display:block;color:var(--ink);font-size:14px;margin-bottom:4px}.empty p{max-width:480px;margin:auto}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{background:#f7faff;color:#56708f;font-size:14px;font-weight:700;text-align:left;padding:12px 16px;white-space:nowrap;border-bottom:1px solid var(--line)}.data-table td{padding:14px 16px;border-bottom:1px solid #eaf0f7;font-size:14px;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#f9fbff}.data-table td strong{font-weight:700;color:var(--ink)}.data-table .cell-sub{display:block;color:var(--muted);font-size:14px;margin-top:2px}.link-row{cursor:pointer}.badge-state{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:8px;font-size:14px;font-weight:700;white-space:nowrap}.badge-state:before{content:"";height:6px;width:6px;border-radius:50%;background:currentColor}.state-draft{background:#edf2f8;color:#516881}.state-plan_submitted,.state-self_submitted{background:var(--warn-bg);color:var(--warn)}.state-plan_approved{background:var(--blue-100);color:var(--blue-700)}.state-completed{background:var(--good-bg);color:var(--good)}.state-closed{background:#edf2f8;color:#516881}.state-active{background:var(--good-bg);color:var(--good)}.main-link{display:inline-flex;gap:7px;align-items:center;border:0;background:none;color:var(--blue-700);font-weight:700;padding:5px 0;text-decoration:none}.main-link:hover{color:var(--blue-900)}.main-link .icon{height:15px;width:15px}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(255px,.8fr);overflow:hidden;border-radius:16px;background:linear-gradient(120deg,#0f3269,#1b57ab);color:#fff;margin-bottom:23px;box-shadow:0 14px 34px rgba(12,49,112,.15)}.hero-main{padding:30px 32px;min-height:215px}.hero-main .hero-top{font-size:14px;color:#bdd6fa;margin-bottom:16px}.hero-main h2{font-size:25px;line-height:1.35;font-weight:700;margin:0 0 9px;letter-spacing:-.02em}.hero-main p{color:#d6e7ff;margin:0;max-width:620px}.hero-main .hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.hero-chip{border:1px solid rgba(255,255,255,.35);border-radius:8px;padding:5px 9px;font-size:14px;color:#e7f1ff}.hero-side{border-left:1px solid rgba(255,255,255,.18);padding:30px 24px;background:rgba(255,255,255,.055);display:flex;flex-direction:column;justify-content:center}.hero-side span{font-size:14px;color:#bed5f4}.hero-side strong{display:block;font-size:17px;line-height:1.35;margin:6px 0}.hero-side .btn{align-self:flex-start;margin-top:13px;background:#fff;color:var(--blue-800);border:0}.hero-side .btn:hover{background:#e6f0ff}.two-col{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:18px}.task-card{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid #e8eff8}.task-card:last-child{border-bottom:0}.task-symbol{width:41px;height:41px;border-radius:11px;background:var(--blue-100);display:grid;place-items:center;color:var(--blue-700);flex:none}.task-copy{flex:1;min-width:0}.task-copy strong{display:block;font-size:14px}.task-copy small{display:block;color:var(--muted);font-size:14px;margin-top:2px}.task-card .btn{flex:none}.mini-timeline{list-style:none;padding:0;margin:0}.mini-timeline li{position:relative;padding:0 0 17px 27px;border-left:1px solid #d4e1f2;margin-left:6px;font-size:14px}.mini-timeline li:last-child{border-color:transparent;padding-bottom:0}.mini-timeline li:before{content:"";position:absolute;left:-5px;top:3px;height:9px;width:9px;border-radius:50%;background:#fff;border:2px solid #8cadde}.mini-timeline li strong{display:block}.mini-timeline li small{color:var(--muted)}.section-heading{font-size:15px;font-weight:700;margin:25px 0 12px}.notice-inline{padding:13px 16px;background:var(--blue-50);border-radius:10px;color:var(--blue-800);font-size:14px;display:flex;align-items:flex-start;gap:9px}.notice-inline .icon{height:17px;width:17px;margin-top:1px}.detail-strip{display:flex;gap:22px;flex-wrap:wrap;padding:16px 20px;background:#f9fbff;border-bottom:1px solid var(--line)}.detail-strip div{font-size:14px;color:var(--muted)}.detail-strip strong{display:block;margin-top:3px;color:var(--ink);font-size:14px}.actions-footer{display:flex;gap:9px;align-items:center;justify-content:flex-end;flex-wrap:wrap;padding:17px 20px;border-top:1px solid var(--line);background:#fbfdff}.stage-rail{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden;margin-bottom:20px}.stage-rail div{padding:12px 14px;border-right:1px solid var(--line);font-size:14px;color:var(--muted);display:flex;align-items:center;gap:8px}.stage-rail div:last-child{border:0}.stage-rail div.done{color:var(--good);background:#f5fbf8}.stage-rail div.current{color:var(--blue-800);background:var(--blue-50);font-weight:700}.stage-num{height:20px;width:20px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;flex:none;font-size:14px}.metric-total{font-weight:700;color:var(--blue-800)}.metric-total.invalid{color:var(--bad)}.kpi-row{padding:17px 0;border-top:1px solid var(--line)}.kpi-row:first-child{border:0;padding-top:0}.kpi-row-title{display:flex;align-items:center;justify-content:space-between;gap:9px;font-weight:700;margin-bottom:12px}.kpi-grid{display:grid;grid-template-columns:2fr 1.3fr 1fr 115px 148px;gap:11px}.kpi-grid label,.rating-grid label{font-size:14px;color:var(--muted);margin-bottom:4px;display:block}.kpi-grid .form-control{min-width:0}.review-kpi{padding:17px 0;border-bottom:1px solid var(--line)}.review-kpi:last-child{border:0}.review-kpi .name{font-weight:700;margin-bottom:5px}.review-kpi .facts{font-size:14px;color:var(--muted);margin-bottom:11px}.review-grid{display:grid;grid-template-columns:110px 1fr;gap:12px}.rating-table th:first-child{width:34%}.rating-table .form-select{min-width:100px}.rating-table .form-control{min-width:180px}.record-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.record-summary div{padding:14px 16px;background:#f6f9fe;border-radius:10px}.record-summary span{display:block;color:var(--muted);font-size:14px}.record-summary strong{display:block;font-size:14px;margin-top:4px}.event-list{list-style:none;margin:0;padding:0}.event-list li{padding:13px 0;border-bottom:1px solid var(--line);display:flex;gap:13px;align-items:flex-start}.event-list li:last-child{border:0}.event-list .event-dot{width:9px;height:9px;background:var(--blue-600);border-radius:50%;margin-top:5px;flex:none}.event-list strong{font-size:14px}.event-list small{display:block;color:var(--muted)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px;flex-wrap:wrap}.toolbar .search-wrap{position:relative;max-width:340px;flex:1}.toolbar .search-wrap .icon{position:absolute;left:12px;top:11px;width:18px;height:18px;color:#6e85a6}.toolbar .search-wrap input{padding-left:39px}.toolbar .form-select{width:auto;min-width:170px}.person-head{display:flex;align-items:center;gap:15px}.person-avatar{width:60px;height:60px;border-radius:17px;background:var(--blue-100);color:var(--blue-700);display:grid;place-items:center;font-size:20px;font-weight:700}.profile-avatar .icon{width:19px;height:19px}.top-avatar .icon{width:18px;height:18px}.person-avatar .icon{width:24px;height:24px}.person-head h2{font-size:20px;font-weight:700;margin:0}.person-head p{color:var(--muted);margin:3px 0 0}.info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.info-tile{background:#f6f9fe;padding:15px;border-radius:10px}.info-tile span{display:block;color:var(--muted);font-size:14px}.info-tile strong{display:block;margin-top:5px;font-size:14px}.pill-role{font-size:14px;background:var(--blue-100);color:var(--blue-800);padding:4px 8px;border-radius:7px;font-weight:700}.callout{background:var(--blue-50);padding:16px 18px;border:1px solid #dae7f9;border-radius:11px;color:var(--blue-800)}.callout.warn{background:var(--warn-bg);border-color:#f2e3bd;color:var(--warn)}.callout.good{background:var(--good-bg);border-color:#cae8dd;color:var(--good)}.soft-divider{height:1px;background:var(--line);margin:22px 0}.flatpickr-calendar{font-family:var(--font);border-radius:12px;box-shadow:var(--shadow)}.swal2-popup{font-family:var(--font);border-radius:16px}.swal2-confirm{background:var(--blue-700)!important}.swal2-title{color:var(--ink)}.print-only{display:none}
@media(max-width:1200px){.kpi-grid{grid-template-columns:1fr 1fr 1fr}.kpi-grid>*:nth-child(1){grid-column:1/-1}.info-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:transform .2s ease;box-shadow:14px 0 36px rgba(5,24,56,.2)}.sidebar.open{transform:none}.mobile-shade{position:fixed;inset:0;background:rgba(7,30,68,.42);z-index:19}.main-column{margin-left:0;width:100%}.mobile-menu{display:grid}.content{padding:23px 20px 38px}.topbar{padding:0 20px}.two-col{grid-template-columns:1fr}.dashboard-hero{grid-template-columns:1fr}.hero-side{border-left:0;border-top:1px solid rgba(255,255,255,.15)}.login-view{grid-template-columns:1fr}.login-frame{min-height:280px;padding:24px 30px}.login-copy{margin:30px 0}.login-copy h1{font-size:36px}.login-copy p{font-size:14px}.login-foot{display:none}.login-form-wrap{padding:40px 24px}}
@media(max-width:600px){.top-period{display:none}.topbar{height:62px}.content{padding:20px 15px 35px}.page-head{display:block}.page-head h1{font-size:22px}.page-actions{margin-top:14px}.panel-body{padding:16px}.panel-head{padding:14px 16px}.data-table th,.data-table td{padding:10px 11px}.stage-rail{grid-template-columns:repeat(2,1fr)}.stage-rail div:nth-child(2){border-right:0}.stage-rail div:nth-child(-n+2){border-bottom:1px solid var(--line)}.kpi-grid,.form-grid,.review-grid{grid-template-columns:1fr}.form-grid .span-2,.kpi-grid>*:nth-child(1){grid-column:auto}.record-summary,.info-grid{grid-template-columns:1fr}.rating-table .form-control{min-width:145px}.login-frame{min-height:260px}.login-copy h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.behavior-group{border:1px solid var(--line);border-radius:11px;margin:12px 0;overflow:hidden}.behavior-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;background:#f6f9fe;color:var(--blue-900);font-weight:700}.behavior-group>summary::-webkit-details-marker{display:none}.behavior-group>summary:after{content:"⌄";font-size:18px;line-height:1;color:#6284b2}.behavior-group[open]>summary:after{transform:rotate(180deg)}.behavior-group .data-table td:first-child{min-width:280px}.behavior-count{font-size:14px;color:var(--muted);font-weight:500;margin-left:auto}.behavior-group .form-select{min-width:95px}.behavior-group .form-control{min-width:170px}.behavior-foot{padding:10px 15px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.state-not_started{background:#edf2f8;color:#516881}
main:focus,main:focus-visible{outline:none!important}
.icon-button{width:44px;height:44px}.nav-link-item{min-height:44px}.behavior-group>summary{min-height:44px}
@media(max-width:600px){.btn-sm{min-height:44px}}
@media print{.sidebar,.topbar,.page-actions,.actions-footer,.btn,.toolbar,.no-print{display:none!important}.main-column{margin:0;width:100%}.content{padding:0}.panel{box-shadow:none;break-inside:avoid}.print-only{display:block}}


/* Reference inspired, TATC PCS blue date picker */
.flatpickr-calendar{box-sizing:border-box;width:370px;max-width:calc(100vw - 24px);min-width:0;padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 20px 56px rgba(13,45,96,.18);font-family:var(--font);overflow:visible}
.flatpickr-calendar.open{z-index:1100;max-height:none}
.flatpickr-calendar:before,.flatpickr-calendar:after{display:none}
.pcs-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px;text-align:left}
.pcs-calendar-header strong{color:var(--ink);font-size:20px;font-weight:700;letter-spacing:-.025em;line-height:1.2}
.pcs-calendar-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:var(--blue-700);color:#fff}
.pcs-calendar-icon .icon{width:25px;height:25px}
.flatpickr-months{align-items:center;gap:9px;margin-bottom:10px}
.flatpickr-months .flatpickr-month{position:relative;display:flex;flex:1 1 auto;align-items:center;width:100%;height:40px;overflow:visible;background:transparent;color:var(--ink)}
.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{display:none}
.flatpickr-current-month{position:static;left:auto;display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;height:40px;padding:0;transform:none;text-align:left;font-size:14px;line-height:1}
.flatpickr-current-month .flatpickr-monthDropdown-months,.flatpickr-current-month .numInputWrapper{box-sizing:border-box;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--blue-50);color:var(--ink);font-family:var(--font);font-size:14px;font-weight:600}
.flatpickr-current-month .flatpickr-monthDropdown-months{flex:1 1 auto;min-width:0;width:auto;margin:0;padding:0 10px;appearance:auto}
.flatpickr-current-month .numInputWrapper{display:flex;flex:0 0 92px;align-items:center;width:92px;margin:0;padding:0 8px}
.flatpickr-current-month .numInputWrapper span{display:none}
.flatpickr-current-month input.cur-year{box-sizing:border-box;width:100%;height:100%;padding:0;color:var(--ink);font-family:var(--font);font-size:14px;font-weight:600;line-height:36px;text-align:center}
.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:#e8f1ff}
.flatpickr-weekdays{height:34px;background:transparent}
.flatpickr-weekday{color:#425b79!important;font-family:var(--font);font-size:14px;font-weight:700}
.flatpickr-weekdaycontainer .flatpickr-weekday:first-child{color:var(--blue-700)!important}
.flatpickr-days{width:100%!important;max-width:100%;overflow:visible}
.flatpickr-days .dayContainer{box-sizing:border-box;justify-content:space-between;width:100%!important;min-width:100%!important;max-width:100%!important;padding:0}
.flatpickr-day{box-sizing:border-box;flex:0 0 14.2857%!important;width:14.2857%!important;max-width:14.2857%!important;height:36px;margin:0;border-radius:10px;color:var(--ink);font-family:var(--font);font-size:14px;line-height:34px}
.flatpickr-day:nth-child(7n + 1){color:var(--blue-700);font-weight:600}
.flatpickr-day:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover{border-color:var(--blue-50);background:var(--blue-50);color:var(--blue-900)}
.flatpickr-day.today{border-color:#8eb7ee}
.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected:hover,.flatpickr-day.selected:focus{border-color:var(--blue-700);background:var(--blue-700);color:#fff}
.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay{color:#a4b2c4}
.pcs-calendar-footer{display:flex;justify-content:center;margin-top:13px}
.pcs-calendar-confirm{width:min(100%,160px);min-height:42px;border:0;border-radius:10px;background:var(--blue-700);color:#fff;font-family:var(--font);font-size:14px;font-weight:700;box-shadow:0 6px 14px rgba(22,88,183,.18);cursor:pointer;transition:background .16s,transform .16s}
.pcs-calendar-confirm:hover{background:var(--blue-800);transform:translateY(-1px)}
.pcs-calendar-confirm:focus-visible{outline:3px solid #a8ccfa;outline-offset:3px}
@media(max-width:480px){.flatpickr-calendar{padding:14px;border-radius:16px}.pcs-calendar-header strong{font-size:18px}.pcs-calendar-icon{flex-basis:42px;width:42px;height:42px}.flatpickr-current-month .numInputWrapper{flex-basis:82px;width:82px}.flatpickr-day{height:34px;line-height:32px}}

/* Buddhist year display is read-only; step controls keep input unambiguous. */
.flatpickr-current-month .numInputWrapper{flex:0 0 128px;width:128px;gap:3px;padding:0 4px}
.flatpickr-current-month input.cur-year{flex:1 1 auto;min-width:0;padding:0 2px;cursor:default}
.pcs-year-step{display:grid;place-items:center;flex:0 0 24px;width:24px;height:28px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--blue-700);font-family:var(--font);font-size:16px;font-weight:700;line-height:1;cursor:pointer}
.pcs-year-step:hover{background:#dceaff;color:var(--blue-900)}
.pcs-year-step:focus-visible{outline:2px solid #8eb7ee;outline-offset:1px}
@media(max-width:480px){.flatpickr-current-month .numInputWrapper{flex-basis:116px;width:116px}}

/* Year is output text, never a text input. */
.flatpickr-current-month .pcs-year-display{display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-width:0;height:100%;color:var(--ink);font-family:var(--font);font-size:14px;font-weight:600;line-height:1;user-select:none;cursor:default}
.employee-row-actions{display:flex;justify-content:flex-end;align-items:center;gap:5px;white-space:nowrap}
.employee-action.icon-button{width:44px;height:44px;min-height:44px;border:1px solid transparent;border-radius:9px;background:#f2f6fc;color:var(--blue-700);transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.employee-action.icon-button:hover{background:var(--blue-100);border-color:var(--line);color:var(--blue-900);transform:translateY(-1px)}
.employee-action.icon-button .icon{width:17px;height:17px}
.employee-action.icon-button.danger{background:#fff5f5;color:#b34b50}
.employee-action.icon-button.danger:hover{background:var(--bad-bg);border-color:var(--bad);color:var(--bad)}
.employee-action.icon-button.restore{background:#eef8f3;color:#18725d}
.employee-action.icon-button.restore:hover{background:var(--good-bg);border-color:var(--good);color:var(--good)}
.employee-inactive{background:#fbfcfe;color:#72839a}
.employee-inactive td:first-child strong{color:#53657d}
.employee-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px}
@media(max-width:600px){.employee-info-grid{grid-template-columns:1fr}}
@media(max-width:760px){.employee-row-actions{justify-content:flex-start}.employee-action.icon-button{width:44px;height:44px;min-height:44px}}
.table-action-cell{text-align:right;white-space:nowrap}
.table-action.icon-button{width:44px;height:44px;min-height:44px;border:1px solid transparent;border-radius:9px;background:#f2f6fc;color:var(--blue-700);transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.table-action.icon-button:hover{background:var(--blue-100);border-color:var(--line);color:var(--blue-900);transform:translateY(-1px)}
.table-action.icon-button .icon{width:18px;height:18px}
.pa-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px}
.pa-section-title h3{margin:3px 0 4px}
.pa-section-title p{margin:0;color:var(--muted);font-size:14px}
.pa-step-label{display:inline-flex;align-items:center;border-radius:7px;padding:4px 8px;background:var(--blue-100);color:var(--blue-800);font-size:14px;font-weight:700}
.pa-work-item{margin:0 0 14px;border:1px solid #d8e4f2;border-radius:12px;background:#fff;overflow:hidden}
.pa-work-header{display:grid;grid-template-columns:minmax(0,1fr) 170px 44px;align-items:end;gap:12px;padding:16px;background:#f7faff}
.pa-work-header .form-label{display:block}
.pa-work-header .icon-button{width:44px;height:44px;border-color:transparent;background:#fff4f4;color:#b34b50}
.pa-work-header .icon-button:hover{background:var(--bad-bg);border-color:var(--bad)}
.pa-work-kpi-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;border-top:1px solid var(--line);background:#fff}
.pa-work-kpi-heading strong,.pa-work-kpi-heading small{display:block}
.pa-work-kpi-heading small{margin-top:2px;color:var(--muted);font-size:14px}
.pa-work-kpis{padding:0 16px 12px}
.pa-kpi-row{padding:13px 0;border-top:1px solid #eaf0f7}
.pa-kpi-row:first-child{border-top:0}
.pa-kpi-row .kpi-row-title{margin-bottom:9px;font-size:14px}
.pa-kpi-row .icon-button{width:34px;height:34px;border-color:transparent;background:#fff4f4;color:#b34b50}
.pa-kpi-row .icon-button .icon{width:16px;height:16px}
.pa-kpi-row .icon-button:hover{background:var(--bad-bg);border-color:var(--bad)}
.pa-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;align-items:start}
.pa-kpi-grid label{display:block;font-size:14px;font-weight:700;color:var(--muted);margin-bottom:5px}
.pa-kpi-grid>div{min-width:0}
.pa-kpi-grid textarea.form-control{min-height:72px;line-height:1.55;resize:vertical}
.pa-kpi-grid .pa-kpi-target{grid-column:1/-1}
.pa-weight-chip{display:inline-flex;flex:none;align-items:center;border-radius:8px;padding:6px 9px;background:var(--blue-100);color:var(--blue-800);font-size:14px;font-weight:700}
.pa-result-groups{display:grid;gap:12px}
.pa-result-group{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#fff}
.pa-result-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;background:#f5f8fd;border-bottom:1px solid var(--line)}
.pa-result-heading small,.pa-result-heading strong{display:block}
.pa-result-heading small{color:var(--muted);font-size:14px;margin-bottom:2px}
.pa-result-heading strong{font-size:14px}
.pa-summary-kpi{display:grid;grid-template-columns:1.2fr 1fr 1.4fr 1fr;align-items:start;gap:12px;padding:12px 15px;border-top:1px solid #edf1f7;font-size:14px}
.pa-summary-kpi:first-child{border-top:0}
.pa-summary-kpi span{color:var(--muted)}
@media(max-width:1050px){.pa-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pa-summary-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pa-section-title{flex-direction:column}.pa-work-header{grid-template-columns:minmax(0,1fr) 44px}.pa-work-header>div:first-child{grid-column:1/-1}.pa-work-kpi-heading{align-items:flex-start;flex-direction:column}.pa-kpi-grid,.pa-summary-kpi{grid-template-columns:1fr}}

/* Keep the dashboard work and deadline panels aligned and equally sized. */
.two-col>.panel{min-width:0;margin-top:0}
@media(min-width:901px){.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Current evaluation year: PA half-year cycles and the annual CA cycle */
.cycle-timeline{margin:0 0 24px;box-shadow:0 5px 18px rgba(20,54,97,.035)}
.cycle-timeline-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--line)}
.cycle-timeline-head h2{margin:0;font-size:18px;font-weight:700;color:var(--ink)}
.cycle-timeline-head p{margin:4px 0 0;color:var(--muted);font-size:14px}
.cycle-timeline-year{flex:none;padding:7px 11px;border:1px solid #cbdcf5;border-radius:8px;background:#f1f6ff;color:var(--blue-800);font-size:14px;font-weight:700}
.cycle-timeline-scroll{overflow-x:auto;scrollbar-color:#aec4e3 transparent}
.cycle-timeline-scroll:focus-visible{outline:3px solid #8cbcf6;outline-offset:-3px}
.cycle-timeline-board{min-width:850px;display:grid;grid-template-columns:178px minmax(0,1fr);column-gap:15px;row-gap:10px;padding:20px 22px 22px}
.cycle-timeline-label{display:flex;align-items:center;gap:10px;min-width:0}
.cycle-timeline-label strong,.cycle-timeline-label small{display:block}
.cycle-timeline-label strong{font-size:14px;line-height:1.3;color:var(--ink)}
.cycle-timeline-label small{margin-top:2px;color:var(--muted);font-size:14px}
.cycle-timeline-month-label{color:var(--muted);font-size:14px;font-weight:700}
.cycle-timeline-months,.cycle-timeline-track{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px}
.cycle-timeline-months{padding-bottom:11px;border-bottom:1px solid var(--line)}
.cycle-timeline-months span{display:grid;place-items:center;min-height:28px;border-radius:7px;color:var(--muted);font-size:14px;font-weight:700}
.cycle-timeline-months span.is-current{background:#e5efff;color:var(--blue-800)}
.cycle-timeline-symbol{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;font-size:14px;font-weight:800}
.cycle-timeline-symbol.pa{background:#e8f1ff;color:#1658b7}
.cycle-timeline-symbol.ca{background:#e2f4f0;color:#126c68}
.cycle-timeline-track{min-height:91px;align-items:stretch;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(8.333% - 1px),#ecf1f7 calc(8.333% - 1px),#ecf1f7 8.333%)}
.cycle-timeline-block{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:11px 14px;border-radius:10px;border:1px solid transparent}
.cycle-timeline-block strong{font-size:15px;line-height:1.3}
.cycle-timeline-block span{margin-top:4px;font-size:14px;line-height:1.4}
.cycle-timeline-block.pa-first{grid-column:1/span 6;background:#e8f1ff;border-color:#c7dafa;color:#184275}
.cycle-timeline-block.pa-second{grid-column:7/span 6;background:#1b5ebb;color:#fff}
.cycle-timeline-block.pa-second span{color:#e1eeff}
.cycle-timeline-block.ca-year{grid-column:1/span 12;background:#e3f4f0;border-color:#bfe3db;color:#126c68}
.cycle-timeline-handoffs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:17px 22px 21px;border-top:1px solid var(--line);background:#f8fbff}
.cycle-timeline-handoff{min-width:0;padding:15px 16px;border:1px solid #d9e4f1;border-radius:11px;background:#fff}
.cycle-timeline-handoff h3{margin:0 0 12px;font-size:15px;font-weight:700;color:var(--ink)}
.cycle-timeline-handoff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cycle-timeline-handoff-grid>div{min-width:0}
.cycle-timeline-action{display:block;margin-bottom:7px;font-size:14px;font-weight:700;line-height:1.35}
.cycle-timeline-action.self{color:#245482}
.cycle-timeline-action.plan{color:#155eaa}
.cycle-timeline-task{padding:8px 0;border-top:1px solid #e9eff7}
.cycle-timeline-task span,.cycle-timeline-task strong{display:block;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.cycle-timeline-task span{color:var(--muted)}
.cycle-timeline-task strong{margin-top:2px;color:var(--ink);font-weight:700}
@media(max-width:1100px){.cycle-timeline-handoffs{grid-template-columns:1fr}}
@media(max-width:600px){.cycle-timeline-head{align-items:flex-start;padding:16px;flex-direction:column;gap:10px}.cycle-timeline-board{padding:16px}.cycle-timeline-handoffs{padding:15px}.cycle-timeline-handoff-grid{grid-template-columns:1fr;gap:8px}}

/* HR follow-up cards for PA / CA submissions */
.hr-tracking{margin:24px 0 27px}
.tracking-section-head{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:12px}
.tracking-section-head .section-heading{margin:0 0 4px}
.tracking-section-head p{margin:0;color:var(--muted);font-size:14px}
.tracking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.tracking-card{min-width:0;padding:18px 19px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 5px 17px rgba(20,54,97,.035)}
.tracking-card-head{display:flex;align-items:center;gap:11px}
.tracking-icon{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:12px;background:var(--blue-50);color:var(--blue-700)}
.tracking-icon .icon{width:20px;height:20px}
.tracking-card-head h3{margin:0;color:var(--ink);font-size:16px;font-weight:700}
.tracking-card-head p{margin:2px 0 0;color:var(--muted);font-size:14px}
.tracking-stage{margin-top:17px;padding-top:16px;border-top:1px solid var(--line)}
.tracking-stage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.tracking-stage-head h4{margin:0;color:var(--ink);font-size:15px;font-weight:700}
.tracking-stage-head small{display:block;margin-top:3px;color:var(--muted);font-size:14px}
.tracking-stage .tracking-metrics{margin:14px 0 12px}
.tracking-stage .tracking-card-actions{margin-top:13px}
.tracking-empty{padding:24px 0 5px;color:var(--muted);font-size:14px}
.period-task-due{color:var(--muted);font-size:14px}
.period-task-action{margin-top:16px}
.tracking-rate{margin-left:auto;color:var(--blue-700);font-size:18px;font-weight:700}
.tracking-metrics{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:17px 0 13px}
.tracking-metric{padding:11px 13px;border:1px solid #e7eef8;border-radius:10px;background:#f9fbfe}
.tracking-metric span{display:block;color:var(--muted);font-size:14px;line-height:1.45}
.tracking-metric strong{display:flex;align-items:baseline;gap:5px;margin-top:3px;color:var(--ink);font-size:23px;line-height:1.2}
.tracking-metric strong small{color:var(--muted);font-size:14px;font-weight:500}
.tracking-metric.sent strong{color:var(--good)}
.tracking-metric.pending strong{color:var(--warn)}
.tracking-progress{height:7px;overflow:hidden;border-radius:99px;background:#eaf0f8}
.tracking-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3d83e0,#1859b5);transition:width .2s ease}
.tracking-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}
.tracking-deadlines{display:grid;gap:9px}
.tracking-card-foot small,.tracking-card-foot strong{display:block}
.tracking-card-foot small{color:var(--muted);font-size:14px}
.tracking-card-foot strong{margin-top:2px;color:var(--blue-800);font-size:14px}
.tracking-card-foot strong.overdue{color:var(--bad)}
.tracking-card-foot .btn{flex:none}
.pending-deadline{margin:0 0 12px;color:var(--muted);font-size:14px;text-align:left}
.pending-list-wrap{max-height:min(55vh,520px);overflow:auto;border:1px solid var(--line);border-radius:10px;text-align:left}
.pending-list-wrap .data-table{min-width:720px}
.pending-list-wrap .data-table thead{position:sticky;top:0;z-index:1}
.pending-note{margin:12px 0 0;color:var(--muted);font-size:14px;text-align:left}
.swal2-popup{max-width:calc(100vw - 24px)}
@media(max-width:760px){.tracking-grid{grid-template-columns:1fr}}
@media(max-width:520px){.tracking-card{padding:15px}.tracking-metrics{gap:8px}.tracking-metric{padding:10px}.tracking-card-foot{align-items:flex-start;flex-direction:column}.tracking-card-foot .btn{width:100%}.pending-list-wrap .data-table{min-width:650px}}

.tracking-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
@media(max-width:520px){.tracking-card-actions{width:100%;align-items:stretch;flex-direction:column}.tracking-card-actions .btn{width:100%}}

/* Notification actions should read as buttons, not inline links. */
.notification-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;margin-top:9px;padding:7px 12px;border-radius:9px;font-size:14px;font-weight:700;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
.notification-action .icon{width:15px;height:15px}
.notification-action:hover{background:var(--blue-700);border-color:var(--blue-700);color:#fff;box-shadow:0 4px 12px rgba(22,88,183,.16)}
.notification-action:focus-visible{outline:3px solid #a8ccfa;outline-offset:2px}

/* Keep PA KPI content comfortably inset from the surrounding card borders. */
.pa-result-group>.review-kpi{padding:17px 16px}
@media(max-width:600px){.pa-result-group>.review-kpi{padding:15px 12px}}

/* PA self-assessment: put the KPI context first, then give the actual result room. */
.pa-self-section>p{max-width:720px;margin:-7px 0 18px;font-size:14px;line-height:1.7}
.pa-self-section .pa-result-groups{gap:15px}
.pa-result-group>.review-kpi.self-kpi.pa-self-kpi{padding:21px 22px 19px}
.pa-self-kpi-title{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}
.pa-self-kpi-index{display:inline-flex;flex:none;align-items:center;justify-content:center;min-height:27px;padding:0 9px;border:1px solid #d6e5fa;border-radius:7px;background:#f0f6ff;color:var(--blue-800);font-size:14px;font-weight:700;line-height:1.2}
.pa-self-kpi-title .name{min-width:0;margin:2px 0 0;color:var(--ink);font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.pa-self-kpi-facts{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;margin-bottom:17px}
.pa-self-kpi-facts>div{min-width:0;padding:10px 12px;border:1px solid #e8eef7;border-radius:8px;background:#f8faff}
.pa-self-kpi-facts small{display:block;margin-bottom:3px;color:var(--muted);font-size:14px;font-weight:700}
.pa-self-kpi-facts span{display:block;color:#294260;font-size:14px;line-height:1.55;overflow-wrap:anywhere}
.pa-self-result-field{min-width:0}
.pa-self-result-field .form-label,.pa-self-rating-field .form-label{display:block;margin-bottom:7px}
.pa-self-result-field textarea.form-control{min-height:126px;line-height:1.65;resize:vertical}
.pa-self-result-field .form-hint{margin-top:5px}
.pa-self-rating-field{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:520px;margin-top:15px;padding:13px 15px;border:1px solid #e6edf7;border-radius:9px;background:#f7f9fc}
.pa-self-rating-field>div{min-width:0}
.pa-self-rating-field .form-label{margin:0}
.pa-self-rating-field small{display:block;margin-top:3px;color:var(--muted);font-size:14px}
.pa-self-rating-field .form-select{width:min(210px,48%);flex:none}
.pa-self-comment{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.pa-self-comment .form-label{display:block;margin-top:0!important}
@media(max-width:680px){.pa-result-group>.review-kpi.self-kpi.pa-self-kpi{padding:17px 15px}.pa-self-kpi-facts{grid-template-columns:1fr}.pa-self-rating-field{align-items:stretch;flex-direction:column;gap:10px}.pa-self-rating-field .form-select{width:100%}.pa-self-result-field textarea.form-control{min-height:116px}}

/* Visible score levels for PA self assessment and the CA fallback forms. */
.pa-self-rating-field{max-width:640px}
.pa-self-rating-field .score-choice-scale{flex:none;width:min(300px,55%)}
.score-choice-scale{display:grid;gap:8px;max-width:360px}
.score-choice-4{grid-template-columns:repeat(4,minmax(44px,1fr))}
.score-choice-5{grid-template-columns:repeat(5,minmax(44px,1fr))}
.score-choice-option{display:grid;place-items:center;min-height:46px;padding:7px;border:1px solid #c9d8eb;border-radius:9px;background:#fff;color:var(--blue-800);font-size:16px;font-weight:700;line-height:1;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}
.score-choice-option:hover{border-color:#8db2e5;background:#f2f7ff}
.score-choice-scale .btn-check:checked+.score-choice-option{border-color:var(--blue-700);background:var(--blue-700);color:#fff}
.score-choice-scale .btn-check:focus-visible+.score-choice-option{outline:3px solid rgba(82,146,244,.4);outline-offset:2px}
.legacy-rating-table{min-width:850px}
.legacy-rating-table .score-choice-scale{min-width:290px}
@media(max-width:680px){.pa-self-rating-field .score-choice-scale{width:100%;max-width:360px}}

/* PA reviewer: show all score choices and give written feedback room to grow. */
.pa-manager-section .pa-result-groups{gap:16px}
.pa-result-group>.review-kpi.pa-manager-kpi{padding:20px 22px 22px}
.pa-manager-kpi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.pa-manager-kpi-title{display:flex;align-items:flex-start;gap:11px;min-width:0}
.pa-manager-kpi-title h4{min-width:0;margin:2px 0 0;color:var(--ink);font-size:15px;font-weight:700;line-height:1.55;overflow-wrap:anywhere}
.pa-manager-self-score{flex:none;min-width:125px;padding:8px 11px;border:1px solid #d9e6f8;border-radius:9px;background:#f5f9ff;text-align:right}
.pa-manager-self-score span,.pa-manager-self-score strong{display:block;font-size:14px;line-height:1.4}
.pa-manager-self-score span{color:var(--muted)}
.pa-manager-self-score strong{margin-top:2px;color:var(--blue-800)}
.pa-manager-context{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:11px;margin-bottom:18px}
.pa-manager-context>div{min-width:0;padding:12px 14px;border:1px solid #e6edf7;border-radius:9px;background:#f8fbff}
.pa-manager-context span{display:block;margin-bottom:4px;color:var(--muted);font-size:14px;font-weight:700}
.pa-manager-context p{margin:0;color:#294260;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.pa-manager-inputs{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.45fr);align-items:start;gap:20px}
.pa-manager-score-field{min-width:0;margin:0;padding:0;border:0}
.pa-manager-score-field legend{float:none;width:auto;margin:0 0 8px;padding:0;font-size:14px}
.pa-manager-score-scale{display:grid;grid-template-columns:repeat(4,minmax(44px,1fr));gap:8px;max-width:370px}
.pa-manager-score-option{display:grid;place-items:center;min-height:46px;padding:7px;border:1px solid #c9d8eb;border-radius:9px;background:#fff;color:var(--blue-800);font-size:16px;font-weight:700;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}
.pa-manager-score-option:hover{border-color:#8db2e5;background:#f2f7ff}
.pa-manager-score-scale .btn-check:checked+.pa-manager-score-option{border-color:var(--blue-700);background:var(--blue-700);color:#fff}
.pa-manager-score-scale .btn-check:focus-visible+.pa-manager-score-option{outline:3px solid rgba(82,146,244,.4);outline-offset:2px}
.pa-manager-note-field{min-width:0}
.pa-manager-note-field .form-label{display:block;margin-bottom:8px}
.pa-manager-note-field textarea.form-control{min-height:112px;line-height:1.65;resize:vertical}
@media(max-width:760px){.pa-manager-inputs,.pa-manager-context{grid-template-columns:1fr}.pa-manager-inputs{gap:17px}}
@media(max-width:600px){.pa-result-group>.review-kpi.pa-manager-kpi{padding:17px 15px}.pa-manager-kpi-head{flex-direction:column;gap:10px}.pa-manager-self-score{min-width:0;text-align:left}}

/* Long Thai task descriptions and entered results should remain fully visible. */
.pa-self-kpi-title .name,.pa-self-kpi-facts span{height:auto;max-height:none;overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}
.pa-self-result-field textarea.pa-auto-grow{height:auto;min-height:126px;max-height:none;overflow-x:hidden;overflow-y:hidden;overflow-wrap:anywhere;resize:none;white-space:pre-wrap}
.pa-self-comment textarea.pa-auto-grow{height:auto;min-height:110px;max-height:none;overflow-y:hidden;resize:none;white-space:pre-wrap}

/* CA score transfer and the two-form self/reviewer flow. */
.ca-self-competencies,.ca-summary-competencies,.ca-review-competencies{display:grid;gap:13px}
.ca-self-competency,.ca-review-competency{min-width:0;padding:17px 18px;border:1px solid var(--line);border-radius:12px;background:#fff}
.ca-self-competency-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.ca-self-competency-heading h4{margin:3px 0 0;font-size:14px;font-weight:700;color:var(--ink);line-height:1.5;overflow-wrap:anywhere}
.ca-self-competency-heading .cell-sub{display:block;color:var(--muted);font-size:14px;overflow-wrap:anywhere}
.ca-self-score{flex:none;min-width:164px;padding:9px 12px;border:1px solid #dce8f8;border-radius:10px;background:var(--blue-50);text-align:right}
.ca-self-score small{display:block;color:var(--muted);font-size:14px;line-height:1.4}
.ca-self-score strong{display:block;margin-top:2px;color:var(--blue-800);font-size:17px;line-height:1.35}
.ca-self-competency-progress{margin:0 0 12px;color:var(--muted);font-size:14px}
.ca-self-competency .form-label,.ca-review-employee-note .form-label{display:block}
.ca-self-competency textarea.form-control,.ca-review-competency textarea.form-control{min-height:96px;resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere}
.ca-behavior-description,.ca-review-employee-note p{margin:0;padding:11px 13px;border:1px solid #e6edf7;border-radius:9px;background:#f7faff;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.ca-review-inputs{display:grid;grid-template-columns:minmax(125px,.4fr) minmax(240px,1.6fr);align-items:start;gap:14px;margin-top:15px}
.ca-review-inputs .form-label{display:block}
.ca-behavior-group .data-table td{vertical-align:top;white-space:normal;overflow-wrap:anywhere}
.ca-behavior-group .data-table td:nth-child(2){min-width:135px}
.ca-behavior-group .data-table td:nth-child(3){min-width:230px}
.ca-behavior-group .data-table td:first-child{min-width:360px;line-height:1.65}
.ca-behavior-group .ca-behavior-table td:nth-child(2){width:290px;min-width:290px}
.behavior-scale{display:flex;align-items:center;gap:7px}
.behavior-scale .behavior-score-option{width:40px;height:38px;padding:0;display:grid;place-items:center;border-color:#cbdaf0;color:var(--blue-700);font-weight:700;border-radius:9px}
.behavior-scale .behavior-score-option{width:44px;height:44px;font-size:15px}
.behavior-scale .btn-check:checked+.behavior-score-option{background:var(--blue-700);border-color:var(--blue-700);color:#fff;box-shadow:0 3px 9px rgba(31,91,175,.2)}
.behavior-scale .btn-check:focus-visible+.behavior-score-option{outline:3px solid rgba(82,146,244,.35);outline-offset:2px}
.ca-indicator-row th{background:#f0f5fc;color:#395c89;padding:10px 16px;font-size:14px;white-space:normal;line-height:1.5}
.ca-behavior-section .pill-role{white-space:nowrap}
.stage-rail.ca-stage-rail{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.ca-review-inputs{grid-template-columns:1fr}.ca-self-competency,.ca-review-competency{padding:14px}.ca-self-score{min-width:138px}}
@media(max-width:520px){.ca-self-competency-heading{flex-direction:column}.ca-self-score{width:100%;text-align:left}.ca-behavior-section .d-flex{align-items:flex-start!important}.ca-behavior-section .pill-role{white-space:normal}}
@media(max-width:600px){.stage-rail.ca-stage-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}
.btn-sm,
.form-label,
.form-hint,
.login-number,
.login-foot,
.login-form .form-caption,
.login-form label,
.side-brand small,
.profile-role,
.profile-tenure div,
.nav-label,
.nav-link-item .nav-count,
.side-utility,
.topbar-product,
.topbar-context,
.top-period,
.page-intro,
.data-table th,
.data-table td,
.data-table .cell-sub,
.badge-state,
.hero-main .hero-top,
.hero-chip,
.hero-side span,
.task-copy small,
.mini-timeline li,
.notice-inline,
.detail-strip div,
.detail-strip strong,
.stage-rail div,
.stage-num,
.kpi-grid label,
.rating-grid label,
.review-kpi .facts,
.record-summary span,
.event-list strong,
.event-list small,
.info-tile span,
.pill-role,
.behavior-count,
.behavior-foot,
.flatpickr-current-month,
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month .numInputWrapper,
.flatpickr-current-month input.cur-year,
.flatpickr-weekday,
.flatpickr-day,
.pcs-calendar-confirm,
.flatpickr-current-month .pcs-year-display,
.pa-section-title p,
.pa-step-label,
.pa-work-kpi-heading small,
.pa-kpi-row .kpi-row-title,
.pa-kpi-grid label,
.pa-weight-chip,
.pa-result-heading small,
.pa-summary-kpi,
.tracking-section-head p,
.tracking-card-head p,
.tracking-metric span,
.tracking-metric strong small,
.tracking-card-foot small,
.tracking-card-foot strong,
.pending-deadline,
.pending-note,
.notification-action,
.pa-self-section > p,
.pa-self-kpi-index,
.pa-self-kpi-facts small,
.pa-self-kpi-facts span,
.pa-self-rating-field small,
.ca-self-competency-heading .cell-sub,
.ca-self-score small,
.ca-self-competency-progress,
.ca-indicator-row th {
  font-size: 14px;
}

/* CA Form 1 reviewer controls: five clear touch targets beside the written feedback. */
.ca-review-inputs{grid-template-columns:minmax(230px,.7fr) minmax(280px,1.3fr);gap:18px;align-items:start;margin-top:18px}
.ca-review-score-field,.ca-review-note-field{min-width:0}
.ca-review-score-scale{display:grid;grid-template-columns:repeat(5,minmax(38px,1fr));gap:8px}
.ca-review-score-option{min-height:44px;padding:7px 10px;display:grid;place-items:center;border:1px solid #c9d8eb;border-radius:9px;background:#fff;color:var(--blue-800);font-size:15px;font-weight:700;line-height:1;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
.ca-review-score-option:hover{border-color:#8db2e5;background:#f2f7ff;color:var(--blue-800)}
.ca-review-score-scale .btn-check:checked+.ca-review-score-option{border-color:var(--blue-700);background:var(--blue-700);color:#fff;box-shadow:0 4px 11px rgba(22,88,183,.2)}
.ca-review-score-scale .btn-check:focus-visible+.ca-review-score-option{outline:3px solid rgba(82,146,244,.35);outline-offset:2px}
.ca-review-note-field textarea.form-control{min-height:94px}
.ca-review-note-field textarea.ca-auto-grow{height:auto;max-height:none;overflow-y:hidden;resize:none}
@media(max-width:760px){.ca-review-inputs{grid-template-columns:1fr}.ca-review-score-scale{grid-template-columns:repeat(5,minmax(44px,1fr));max-width:420px}}
@media(max-width:380px){.ca-review-score-scale{gap:6px}.ca-review-score-option{min-height:42px;padding:6px}}

/* CA Form 1 results: keep narrative feedback at a readable width. */
.ca-result-list{display:grid;gap:14px}
.ca-result-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}
.ca-result-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:17px 20px;border-bottom:1px solid var(--line);background:#f8fbff}
.ca-result-title{min-width:0}
.ca-result-title h4{margin:0;color:var(--ink);font-size:16px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.ca-result-title span{display:block;margin-top:3px;color:var(--muted);font-size:14px;line-height:1.4}
.ca-result-scores{display:flex;align-items:stretch;gap:8px}
.ca-result-score{min-width:174px;padding:8px 12px;border:1px solid #d8e4f3;border-radius:9px;background:#fff}
.ca-result-score-reviewer{border-color:#c9ddf8;background:var(--blue-100)}
.ca-result-score span{display:block;color:var(--muted);font-size:14px;line-height:1.4}
.ca-result-score strong{display:block;margin-top:3px;color:var(--blue-800);font-size:18px;line-height:1.3}
.ca-result-score-reviewer strong{color:var(--blue-700)}
.ca-result-details{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr)}
.ca-result-detail{min-width:0;padding:17px 20px 20px}
.ca-result-detail-self{border-right:1px solid #e6edf7;background:#fbfdff}
.ca-result-detail h5{margin:0 0 8px;color:#45617f;font-size:14px;font-weight:700;line-height:1.5}
.ca-result-detail p{margin:0;color:var(--ink);font-size:14px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:900px){.ca-result-header{grid-template-columns:1fr}.ca-result-details{grid-template-columns:1fr}.ca-result-detail-self{border-right:0;border-bottom:1px solid #e6edf7}}
@media(max-width:520px){.ca-result-header{padding:16px}.ca-result-scores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ca-result-score{min-width:0}.ca-result-detail{padding:15px 16px}.ca-result-title h4{font-size:15px}}
@media print{.ca-result-header{break-after:avoid}.ca-result-detail{break-inside:auto}}

/* Show the complete active PA and CA period names in the top bar. */
.topbar-start,.topbar-end{min-width:0}
.topbar-end{gap:12px}
.topbar-end>.icon-button,.topbar-end>.top-avatar{flex:none}
.top-period{max-width:none;min-width:0;overflow:visible;text-overflow:clip;white-space:normal;line-height:1.4}

/* Keep compact labels and vendor UI readable at the 14px minimum. */
small,.small,.form-text,.valid-feedback,.invalid-feedback,.badge{font-size:14px}
.flatpickr-calendar span.flatpickr-weekday,.swal2-popup.swal2-toast .swal2-footer{font-size:14px}
.notice-button i{top:-5px;right:-5px;min-width:22px;height:22px;padding:0 3px;line-height:1}
.stage-num{width:24px;height:24px;line-height:1}

/* PA and CA assessment metadata fills the form width without crowding its values. */
.detail-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr);gap:0;padding:18px 22px;background:#f8fbff}
.detail-strip .detail-strip-item{min-width:0;display:flex;align-items:center;gap:14px;padding:4px 24px}
.detail-strip .detail-strip-item:first-child{padding-left:0}
.detail-strip .detail-strip-item+.detail-strip-item{border-left:1px solid #dce7f5}
.detail-strip .detail-strip-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:11px;background:var(--blue-100);color:var(--blue-700)}
.detail-strip .detail-strip-icon .icon{width:20px;height:20px}
.detail-strip .detail-strip-copy{min-width:0}
.detail-strip .detail-strip-label{display:block;color:var(--muted);font-size:14px;line-height:1.35}
.detail-strip .detail-strip-value{display:block;margin-top:4px;color:var(--ink);font-size:16px;line-height:1.45;font-weight:700;overflow-wrap:anywhere}
@media(max-width:760px){
  .detail-strip{grid-template-columns:1fr;padding:6px 18px}
  .detail-strip .detail-strip-item{padding:13px 0}
  .detail-strip .detail-strip-item+.detail-strip-item{border-left:0;border-top:1px solid #dce7f5}
}

/* Read-only PA and CA reports use a document rhythm rather than compact form rows. */
.report-section{padding:28px 0}
.report-section h3{margin:0 0 18px;font-size:18px;line-height:1.4;color:var(--ink)}
.report-section .pa-result-groups{gap:18px}
.pa-report .pa-result-group{border-radius:12px}
.pa-report .pa-result-heading{padding:16px 20px;background:#f7faff}
.pa-report .pa-result-heading strong{font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.pa-report .pa-result-heading small{margin-bottom:3px}
.pa-report-kpi{min-width:0;padding:18px 20px;border-top:1px solid var(--line)}
.pa-report-kpi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.pa-report-kpi-title{min-width:0;display:flex;align-items:flex-start;gap:12px}
.pa-report-kpi-title>span{flex:none;display:inline-block;padding:4px 8px;border-radius:7px;background:var(--blue-100);color:var(--blue-800);font-size:14px;font-weight:700;line-height:1.25}
.pa-report-kpi-title h4{min-width:0;margin:0;color:var(--ink);font-size:16px;font-weight:700;line-height:1.6;overflow-wrap:anywhere}
.pa-report-scores{flex:none;display:flex;gap:10px}
.pa-report-score{min-width:112px;padding:7px 11px;border:1px solid #d7e5f7;border-radius:8px;background:#f6faff;color:var(--blue-800)}
.pa-report-score small{display:block;color:#496685;font-size:14px;line-height:1.35}
.pa-report-score strong{display:block;margin-top:2px;font-size:18px;line-height:1.3}
.pa-report-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:15px;padding-top:14px;border-top:1px solid #eaf0f7}
.pa-report-fact{min-width:0}
.pa-report-fact+.pa-report-fact{padding-left:18px;border-left:1px solid #e5edf7}
.pa-report-fact>span,.report-note>span{display:block;color:#526782;font-size:14px;font-weight:700;line-height:1.4}
.pa-report-fact p,.report-note p{margin:5px 0 0;color:var(--ink);font-size:15px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.report-section>.report-note{margin-top:18px;padding:16px 18px;border:1px solid #dce7f5;border-radius:10px;background:#f8fbff}
.pa-report-kpi>.report-note{margin-top:14px;padding-top:13px;border-top:1px solid #eaf0f7}

.ca-report-list{display:grid;gap:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}
.ca-report-row{min-width:0;padding:18px 20px}
.ca-report-row+.ca-report-row{border-top:1px solid var(--line)}
.ca-report-row-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.ca-report-title{min-width:0}
.ca-report-title h4{margin:0;color:var(--ink);font-size:16px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.ca-report-title>span{display:block;margin-top:2px;color:var(--muted);font-size:14px;line-height:1.45}
.ca-report-score{flex:none;min-width:165px;text-align:right}
.ca-report-score>span{display:block;color:var(--muted);font-size:14px;line-height:1.35}
.ca-report-score strong{display:block;margin-top:2px;color:var(--blue-800);font-size:18px;line-height:1.3}
.ca-report-narrative{margin-top:13px}
.ca-report-narrative>span{display:block;color:#526782;font-size:14px;font-weight:700}
.ca-report-narrative p{max-width:95ch;margin:4px 0 0;color:var(--ink);font-size:15px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.ca-result-list.ca-report-list{gap:0}
.ca-report-list .ca-result-card{border:0;border-radius:0}
.ca-report-list .ca-result-card+.ca-result-card{border-top:1px solid var(--line)}
.ca-report-list .ca-result-header{padding:19px 20px 13px;border-bottom:0;background:#fff}
.ca-report-list .ca-result-scores{gap:0}
.ca-report-list .ca-result-score{min-width:150px;padding:0 0 0 16px;border:0;border-left:1px solid #dce7f5;border-radius:0;background:transparent}
.ca-report-list .ca-result-details{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
.ca-report-list .ca-result-detail{padding:0 20px 19px;background:#fff}
.ca-report-list .ca-result-detail-self{border-right:1px solid #e6edf7;border-bottom:0}
.ca-review-idp.report-section .report-note{margin:0;padding:0;border:0;background:transparent}
@media(max-width:900px){
  .ca-report-list .ca-result-details{grid-template-columns:1fr}
  .ca-report-list .ca-result-detail-self{border-right:0;border-bottom:0}
  .ca-report-list .ca-result-detail-reviewer{padding-top:12px;border-top:1px solid #eaf0f7}
}
@media(max-width:760px){
  .report-section{padding:23px 0}
  .report-section h3{font-size:17px}
  .pa-report .pa-result-heading,.pa-report-kpi,.ca-report-row{padding:16px}
  .pa-report-kpi-head,.ca-report-row-top{flex-direction:column;gap:12px}
  .pa-report-scores{flex-wrap:wrap}
  .pa-report-facts{grid-template-columns:1fr;gap:13px}
  .pa-report-fact+.pa-report-fact{padding:13px 0 0;border-left:0;border-top:1px solid #e5edf7}
  .ca-report-score{text-align:left}
  .ca-report-list .ca-result-header{padding:16px}
  .ca-report-list .ca-result-scores{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .ca-report-list .ca-result-score{min-width:0;padding:0;border-left:0}
  .ca-report-list .ca-result-detail{padding:0 16px 16px}
}
@media print{
  .assessment-panel,.assessment-panel .form-section,.assessment-panel .pa-result-group,.assessment-panel .ca-report-list{break-inside:auto}
  .stage-rail{display:none}
  .report-section{padding:18px 0}
  .pa-report-kpi,.ca-report-row,.ca-result-card{break-inside:auto}
  .pa-report-kpi-head,.ca-report-row-top,.ca-result-header{break-after:avoid}
  .ca-report-form2 .behavior-group:not([open])>:not(summary){display:block!important}
}

/* Compact, complete A4 reports; screen layouts are unaffected. */
.print-report{display:none}
@page{size:A4 portrait;margin:9mm 10mm 10mm}
@media print{
  html,body{height:auto;background:#fff}
  body{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #main>:not(.print-report){display:none!important}
  #main.content{width:100%;max-width:none;margin:0;padding:0}
  .print-report{display:block!important;color:#20344f;font:9pt/1.32 var(--font);orphans:2;widows:2}
  .print-report *{box-sizing:border-box}
  .print-report .print-value{font-size:85%}
  .print-report-header{padding-bottom:2.5mm;border-bottom:1.2pt solid #1658b7}
  .print-report-brand{color:#16417e;font-size:8.5pt;font-weight:800;letter-spacing:.02em}
  .print-report-brand span{margin-left:2mm;color:#526782;font-weight:500;letter-spacing:0}
  .print-report-header h1{margin:1mm 0 0;color:#0d2d60;font-size:14pt;line-height:1.22;font-weight:700}
  .print-report-header>p{margin:0 0 2mm;color:#526782;font-size:8.5pt}
  .print-meta{display:grid;grid-template-columns:1.3fr .8fr 1.4fr;gap:1mm 4mm}
  .print-field{min-width:0;display:flex;align-items:baseline;gap:1.2mm;overflow-wrap:anywhere}
  .print-field span{flex:none;color:#526782;font-size:8.3pt}
  .print-field strong{font-weight:700}
  .print-report-section{margin-top:2.5mm}
  .print-report-section h2{display:flex;justify-content:space-between;gap:3mm;margin:0 0 1.5mm;color:#16417e;font-size:10.5pt;line-height:1.25;font-weight:700;break-after:avoid-page}
  .print-report-section h2 span{flex:none;color:#526782;font-size:8.2pt;font-weight:500}
  .print-work{margin-top:2mm;border-top:1pt solid #a9c2e6;break-inside:auto}
  .print-work-head{display:flex;justify-content:space-between;align-items:flex-start;gap:3mm;padding:1.2mm 2mm;background:#eef4fc;break-after:avoid-page}
  .print-work-head strong{min-width:0;color:#0d2d60;font-weight:700;overflow-wrap:anywhere}
  .print-work-head span{flex:none;color:#16417e;font-size:8.5pt;font-weight:700}
  .print-kpi{padding:1.6mm 2mm;border-bottom:1px solid #d9e4f1;break-inside:avoid-page}
  .print-kpi-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:3mm;break-after:avoid-page}
  .print-kpi-title strong{min-width:0;color:#183052;font-weight:700;overflow-wrap:anywhere}
  .print-kpi-title>span{color:#16417e;font-size:8.4pt;font-weight:700;white-space:nowrap}
  .print-kpi-body{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:3mm;margin-top:1mm}
  .print-kpi-plan,.print-kpi-result,.print-competency-notes>div,.print-idp>div{min-width:0;overflow-wrap:anywhere}
  .print-kpi-result{padding-left:3mm;border-left:1px solid #d9e4f1}
  .print-kpi-plan>div+div,.print-kpi-result>div+div{margin-top:1.2mm}
  .print-kpi-body b,.print-final-notes b,.print-competency-notes b,.print-idp b{display:block;color:#526782;font-size:8.2pt;font-weight:700}
  .print-kpi-body p,.print-final-notes p,.print-competency-notes p,.print-idp p,.print-transfer p{margin:.3mm 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
  .print-final-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4mm;margin-top:2.5mm}
  .print-final-notes>div{min-width:0;padding-top:1.5mm;border-top:1px solid #d9e4f1;break-inside:avoid-page}
  .print-final-notes>div:only-child{grid-column:1/-1}
  .print-competency{padding:1.2mm 0;border-bottom:1px solid #d9e4f1;break-inside:avoid-page}
  .print-competency-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:3mm;break-after:avoid-page}
  .print-competency-head>div:first-child{min-width:0}
  .print-competency-head strong,.print-competency-head span{display:block;overflow-wrap:anywhere}
  .print-competency-scores .print-value{display:inline}
  .print-competency-head strong{color:#183052;font-weight:700}
  .print-competency-head>div:first-child span{color:#526782;font-size:8.2pt}
  .print-competency-scores{display:flex;gap:3mm;color:#16417e;font-size:8.4pt;font-weight:700;white-space:nowrap}
  .print-competency-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4mm;margin-top:1mm}
  .print-idp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1mm 4mm;padding-top:1.5mm;border-top:1pt solid #a9c2e6}
  .print-idp h2{grid-column:1/-1}
  .print-ca-conclusion{break-inside:avoid-page}
  .print-transfer{padding-top:1.5mm;border-top:1px solid #d9e4f1}
}

/* PA work-level scoring and company grade register. */
.pa-work-review-inputs{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:20px;align-items:start}
.pa-work-review-inputs .score-choice-scale{max-width:370px}
.pa-work-review-inputs .score-choice-option{min-width:52px;min-height:48px;font-size:17px}
.pa-work-review-formula{padding:12px 20px;border-top:1px solid var(--line);background:#f8fbff;color:var(--muted);font-size:14px;line-height:1.5}
.pa-work-review-kpi{padding:18px 20px}
.pa-work-review-kpi+.pa-work-review-kpi{border-top:1px solid var(--line)}
.pa-work-review-kpi-top,.pa-work-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.pa-work-review-kpi-top>div{display:flex;align-items:flex-start;gap:10px;min-width:0}
.pa-work-review-kpi-top strong{font-size:15px;line-height:1.55;overflow-wrap:anywhere}
.pa-work-review-self{flex:none;color:var(--blue-800);font-size:14px;font-weight:700}
.pa-work-review-kpi .pa-manager-context{margin:14px 0}
.pa-work-review-kpi .form-label{display:block;margin-bottom:7px}
.pa-work-review-kpi textarea{min-height:82px;resize:vertical}
.pa-work-score-chip{display:inline-block;padding:7px 10px;border-radius:8px;background:#e8f3ed;color:#176344;font-size:14px;font-weight:700;white-space:nowrap}
.pa-grade-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 24px;margin-bottom:18px;padding:18px 22px;border:1px solid #b7d0ef;border-left:5px solid var(--blue-700);border-radius:11px;background:#f5f9ff}
.pa-grade-card span{display:block;color:#496685;font-size:14px}
.pa-grade-card strong{display:block;color:var(--blue-800);font-size:25px;line-height:1.2}
.pa-grade-card .pa-grade-letter{text-align:center}
.pa-grade-card .pa-grade-letter strong{font-size:35px}
.pa-grade-card p{grid-column:1/-1;margin:2px 0 0;color:#36536f;font-size:14px}
.grade-report-toolbar{display:flex;align-items:center;gap:12px;margin:0 0 18px}
.grade-report-toolbar .form-label{margin:0;white-space:nowrap}
.grade-report-toolbar .form-select{width:min(100%,360px)}
.grade-report-print-head{display:none}
.grade-report-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.grade-report-stats>div{padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:#fff}
.grade-report-stats span,.grade-report-stats strong{display:block}
.grade-report-stats span{color:var(--muted);font-size:14px}
.grade-report-stats strong{margin-top:4px;color:var(--blue-800);font-size:24px}
.grade-report-distribution{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.grade-report-distribution span{padding:7px 12px;border:1px solid #d9e6f8;border-radius:7px;background:#f7faff;color:#36536f;font-size:14px}
.grade-report-distribution b{color:var(--blue-800)}
.grade-report-panel{overflow:hidden}
.grade-report-table{width:100%}
.grade-report-table .grade-number{text-align:right;font-variant-numeric:tabular-nums}
.grade-letter{display:inline-block;min-width:42px;padding:5px 8px;border-radius:7px;background:#e8f3ed;color:#176344;font-weight:800;text-align:center}
.grade-report-foot{margin:13px 2px 0;color:var(--muted);font-size:14px}
@media(max-width:760px){.pa-work-review-inputs{grid-template-columns:1fr;gap:14px}.pa-work-review-kpi-top{flex-direction:column}.grade-report-stats{grid-template-columns:1fr}.grade-report-toolbar{align-items:stretch;flex-direction:column}}
@media print{
  #main>.grade-report-page{display:block!important}
  .grade-report-page .page-head,.grade-report-page .grade-report-toolbar,.grade-report-page .grade-report-foot{display:none!important}
  .grade-report-print-head{display:flex;justify-content:space-between;gap:8mm;margin-bottom:4mm;padding-bottom:2mm;border-bottom:1pt solid #1658b7;font-size:10pt}
  .grade-report-stats{grid-template-columns:repeat(3,1fr);gap:3mm;margin-bottom:3mm}
  .grade-report-stats>div{padding:2mm 3mm;break-inside:avoid}
  .grade-report-stats span,.grade-report-distribution span{font-size:8pt}
  .grade-report-stats strong{font-size:13pt}
  .grade-report-distribution{gap:2mm;margin-bottom:3mm}
  .grade-report-distribution span{padding:1mm 2mm}
  .grade-report-panel{break-inside:auto!important;border:0;overflow:visible}
  .grade-report-table{font-size:8pt}
  .grade-report-table th,.grade-report-table td{padding:1.5mm 2mm}
  .grade-report-table thead{display:table-header-group}
  .grade-report-table tr{break-inside:avoid}
  .print-grade{display:flex;align-items:baseline;gap:3mm;margin-top:2mm;padding:1.5mm 2mm;background:#eef4fc;border-left:2pt solid #1658b7;font-size:9pt}
  .print-grade span{margin-left:auto}
}
