*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#17213b;font:14px Inter,Arial,sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#111a32;color:#fff;padding:24px 18px;overflow:auto}.brand{display:flex;align-items:center;gap:10px;margin-bottom:32px}.brand b,.brand small{display:block}.brand b{letter-spacing:1px}.brand small{font-size:10px;color:#96a1bf}.logo{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#7867ff,#35b6d8);display:grid;place-items:center;color:#fff;font-size:23px;font-weight:800}.sidebar a{display:block;text-decoration:none;color:#aeb8d0;padding:9px 12px;border-radius:8px;font-size:12px}.sidebar a:hover{background:#4e4ac1;color:white}.sidebar h6{font-size:11px;color:#e5e9f5;margin:17px 0 3px;padding:0 10px}.caption{font-size:9px;letter-spacing:1.5px;color:#7885a4;margin:24px 10px 8px}.user{border-top:1px solid #ffffff20;margin-top:25px;padding-top:18px}.user small{display:block;color:#99a5c2;text-transform:capitalize}.user a{margin-top:8px}main{margin-left:250px;min-height:100vh;display:flex;flex-direction:column}header{background:white;padding:23px 34px;border-bottom:1px solid #e8ebf3;display:flex;justify-content:space-between;align-items:center}header small{font-size:9px;letter-spacing:1.5px;color:#8b93a8;font-weight:800}header h2{font-size:22px;font-weight:800;margin:5px 0 0}.online{font-size:11px;color:#16a879}.content{padding:28px 34px;flex:1}.hero{padding:30px;border-radius:18px;background:linear-gradient(110deg,#171f49,#4e54c8);color:white;margin-bottom:22px}.hero small{letter-spacing:1.5px;color:#b7b9ff;font-weight:800}.hero h1{font-size:30px;font-weight:800;margin:12px 0}.hero h1 span{color:#9ff0dc}.hero p{color:#d1d4ef;margin:0}.filters,.panel,.metric{background:white;border:1px solid #e8ebf3;border-radius:14px;padding:20px;margin-bottom:20px}.filters{display:flex;gap:12px}.filters select{padding:10px;border:1px solid #dfe4ef;border-radius:8px;min-width:200px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metric small{display:block;color:#8992a7}.metric strong{display:block;font-size:30px;margin:8px 0}.metric span{font-size:11px;color:#16a879}.panel h4,.panel h5{font-size:15px;font-weight:800;margin-bottom:20px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:11px;font-weight:700;color:#59647c}.field input,.field textarea,.field select{border:1px solid #dfe4ef;border-radius:8px;padding:10px;font-size:12px}.field textarea{min-height:85px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:24px}.formgrid .full{grid-column:1/-1}.formgrid button{justify-self:start}.table{font-size:12px}.table th{font-size:10px;color:#8790a5;text-transform:uppercase}footer{padding:17px 34px;background:white;border-top:1px solid #e8ebf3;color:#8992a7;font-size:10px;display:flex;justify-content:space-between}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 15% 20%,#e3e0ff,transparent 30%),#f5f7fb;padding:20px}.loginbox{width:min(100%,420px);background:white;padding:38px;border-radius:20px;box-shadow:0 25px 70px #1e2a5017}.loginbox .logo{margin:0 auto 20px}.loginbox>small{display:block;text-align:center;color:#8b93a8;letter-spacing:1.5px}.loginbox h1{text-align:center;font-weight:800}.loginbox p{text-align:center;color:#8992a7;font-size:12px;margin-bottom:25px}.loginbox .field{margin-bottom:14px}@media(max-width:800px){.sidebar{position:relative;width:100%;inset:auto}.sidebar h6,.sidebar .caption,.sidebar>a:not(:first-child),.user{display:none}main{margin:0}header,.content{padding:18px}.metrics{grid-template-columns:1fr}.hero h1{font-size:24px}.filters,.formgrid{display:flex;flex-direction:column}.filters select{width:100%}footer{padding:15px;gap:8px;flex-direction:column}}

/* Smart SAKIP modern interface refresh */
:root{--ink:#17213b;--muted:#8490aa;--purple:#7164e8;--cyan:#48d4dc;--nav:#0c142b}
body{font-family:Inter,"Segoe UI",Arial,sans-serif;background:#f3f6fc;color:var(--ink)}
.sidebar{background:linear-gradient(180deg,#0c142b 0%,#121d3b 60%,#11172d 100%);box-shadow:8px 0 35px #0b153015;scrollbar-width:thin;scrollbar-color:#7180a020 transparent}
.sidebar::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:#9ba9cc22;border-radius:10px}.sidebar::-webkit-scrollbar-thumb:hover{background:#9ba9cc66}
.sidebar .brand{padding-bottom:30px}.sidebar .nav-main{display:flex;align-items:center;gap:11px;margin:4px 0;padding:12px 13px;border-radius:11px;color:#b9c4df;font-weight:650;transition:.2s}.sidebar .nav-main span{width:22px;text-align:center;font-size:17px}.sidebar .nav-main:hover,.sidebar .nav-active{color:#fff;background:linear-gradient(105deg,#7164e8,#4c58c9);box-shadow:0 8px 22px #5d56db30}
.nav-dropdown{margin:5px 0;border-radius:11px;overflow:hidden}.nav-dropdown summary{display:flex;align-items:center;gap:9px;list-style:none;cursor:pointer;padding:12px 11px;border-radius:11px;color:#d9e0f2;font-size:11px;font-weight:700;transition:.2s}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary:hover,.nav-dropdown[open] summary{background:#ffffff0c;color:#fff}.nav-symbol{color:#9b96ff;font-size:17px}.nav-label{flex:1}.chevron{color:#7886a8;transition:transform .2s}.nav-dropdown[open] .chevron{transform:rotate(180deg)}.dropdown-links{margin:2px 0 6px 15px;padding:5px 0 5px 13px;border-left:1px solid #ffffff18}.dropdown-links a{padding:9px 10px;margin:2px 0;border-radius:8px;font-size:11px;color:#9daaca}.dropdown-links a:hover{color:#fff;background:#ffffff0b}.user{display:flex;align-items:center;gap:10px}.user-avatar,.profile-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:white;font-weight:800;background:linear-gradient(135deg,#7768f5,#34b7d0);box-shadow:0 5px 15px #5b5ae033}.user-info{min-width:0}.user-info b,.user-info small{display:block;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-info b{font-size:11px}.user-info small{font-size:10px;color:#94a1c0;text-transform:capitalize;margin-top:3px}
header{position:sticky;top:0;z-index:5;background:linear-gradient(105deg,#fff 0%,#f5f6ff 60%,#effcff 100%);border-bottom:1px solid #e1e7f5;box-shadow:0 6px 24px #1b285108}header h2{color:#1c2543}.header-actions{display:flex;align-items:center;gap:22px}.online{display:flex;align-items:center;gap:7px}.online i{width:7px;height:7px;border-radius:50%;background:#22c995;box-shadow:0 0 0 4px #22c99520}.profile-trigger{display:flex;align-items:center;gap:10px;border:1px solid #e7e9f6;background:#fff;padding:6px 10px 6px 6px;border-radius:14px;box-shadow:0 5px 15px #202a4a08}.profile-trigger:hover{border-color:#c9c4ff;background:#fbfaff}.profile-text{text-align:left}.profile-text b,.profile-text small{display:block;max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-text b{font-size:11px;color:#26304e}.profile-text small{font-size:10px;color:#8791a8;text-transform:capitalize;margin-top:2px}.profile-chevron{color:#8791a8;margin-left:3px}.profile-menu{border:1px solid #e8ebf5;border-radius:15px;padding:8px;min-width:220px;box-shadow:0 20px 50px #17213b20}.profile-menu-head{padding:10px 12px 13px;border-bottom:1px solid #edf0f7;margin-bottom:5px}.profile-menu-head b,.profile-menu-head small{display:block}.profile-menu-head b{font-size:12px}.profile-menu-head small{font-size:10px;color:#8791a8;text-transform:capitalize;margin-top:4px}.profile-menu .dropdown-item{font-size:12px;padding:10px 12px;border-radius:8px}.profile-menu .dropdown-item:hover{background:#f1f0ff;color:#5e52d4}.logout-item{color:#d34e67!important}
footer{background:linear-gradient(100deg,#111a34,#202d58);color:#b8c4e0;border-top:3px solid #7164e8;padding:18px 34px}footer span{color:#8f9dbd}
.login{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 15% 18%,#6458e84a,transparent 33%),radial-gradient(ellipse at 85% 78%,#28d1d04a,transparent 30%),linear-gradient(135deg,#091126 0%,#111b3b 48%,#172451 100%);min-height:100vh;padding:35px 20px;display:grid;place-items:center}.login-grid{position:absolute;inset:0;z-index:-1;opacity:.14;background-image:linear-gradient(#9aa9ff24 1px,transparent 1px),linear-gradient(90deg,#9aa9ff24 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(transparent,#000 25%,#000 75%,transparent)}.login-orb{position:absolute;z-index:-1;border-radius:50%;filter:blur(1px);border:1px solid #b9c5ff30;box-shadow:inset 0 0 50px #5c68d015,0 0 80px #5c68d010}.orb-a{width:460px;height:460px;left:-180px;top:-180px}.orb-b{width:560px;height:560px;right:-240px;bottom:-270px}.loginbox{position:relative;width:min(100%,460px);padding:42px 42px 32px;border-radius:25px;background:linear-gradient(145deg,#fffffffa,#f7f8fffa);border:1px solid #ffffffa8;box-shadow:0 35px 100px #02081865,0 0 0 8px #ffffff08;backdrop-filter:blur(18px)}.login-brand{position:relative;display:flex;justify-content:center;margin-bottom:22px}.login-brand .logo{width:62px;height:62px;border-radius:20px;font-size:30px;background:linear-gradient(135deg,#7a68ff,#31c8d4);box-shadow:0 14px 30px #5b58db45}.brand-glow{position:absolute;width:80px;height:30px;top:48px;border-radius:50%;background:#6b63f5;filter:blur(25px);opacity:.28}.login-kicker{display:block;text-align:center;color:#7d82a6;font-size:9px;font-weight:800;letter-spacing:2px}.loginbox h1{text-align:center;font-size:34px;font-weight:850;letter-spacing:-1.3px;margin:9px 0 8px;color:#182142}.loginbox h1 span{background:linear-gradient(90deg,#6f60e9,#32b7ce);background-clip:text;-webkit-background-clip:text;color:transparent}.login-desc{text-align:center;color:#7f89a4;font-size:11px;line-height:1.6;margin-bottom:22px}.login-line{height:1px;background:linear-gradient(90deg,transparent,#dfe3f3,transparent);margin-bottom:23px}.loginbox .field{margin-bottom:17px}.loginbox .field label{color:#515b78;font-size:11px}.loginbox .field input{width:100%;height:47px;padding:12px 14px;border-radius:11px;background:#f8f9fd;border:1px solid #e3e7f2;outline:none;font-size:12px;transition:.2s}.loginbox .field input:focus{background:#fff;border-color:#8075f0;box-shadow:0 0 0 4px #7a6ef21c}.login-submit{display:flex;align-items:center;justify-content:center;gap:12px;height:48px;margin-top:8px;background:linear-gradient(100deg,#6f60e9,#4e63d7);box-shadow:0 10px 24px #6256db35;font-size:12px}.login-submit span{font-size:17px;transition:transform .2s}.login-submit:hover span{transform:translate(3px,-2px)}.secure-note{text-align:center;margin-top:24px;font-size:9px;color:#8b94ad;letter-spacing:.2px}.secure-note span{color:#22bc91;margin-right:5px}.login-copyright{position:absolute;bottom:17px;text-align:center;color:#8492b6;font-size:9px;letter-spacing:1.6px}.login-copyright span{color:#48d4dc;margin:0 8px}
.panel{border:1px solid #e6eaf4;box-shadow:0 8px 28px #1d2b4b07;padding:24px}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.panel-top h4{margin:0 0 5px}.panel-top p{margin:0;color:#8b94aa;font-size:11px}.modern-modal{border:1px solid #e8eafa;border-radius:19px;overflow:hidden;box-shadow:0 25px 80px #101b3d35}.modern-modal .modal-header{padding:22px 24px;background:linear-gradient(110deg,#f6f5ff,#f0fbff);border-bottom:1px solid #e8ebf5;align-items:flex-start}.modern-modal .modal-title{font-weight:800;font-size:18px;margin:5px 0}.modern-modal .modal-header p{font-size:11px;color:#8791a8;margin:0}.modal-kicker{font-size:9px;font-weight:800;letter-spacing:1.5px;color:#7164e8}.modern-modal .modal-body{padding:24px;display:flex;flex-direction:column;gap:15px}.modern-modal .modal-footer{padding:15px 24px;background:#fafbff;border-top:1px solid #edf0f7}.modern-modal .formgrid{margin:0}.modern-modal .field input,.modern-modal .field textarea,.modern-modal .field select{width:100%;background:#fbfcff;border:1px solid #e0e5f0;border-radius:9px;padding:11px 12px;font-size:12px}.modern-modal .field input:focus,.modern-modal .field textarea:focus,.modern-modal .field select:focus{outline:0;border-color:#8176ef;box-shadow:0 0 0 3px #8176ef1c}.btn-light{border:1px solid #e3e7f1;background:#fff;color:#64708a}.btn-primary{background:linear-gradient(105deg,#7164e8,#5263d8);border:0;box-shadow:0 6px 15px #665bd52a}
@media(max-width:800px){.sidebar{max-height:none}.header-actions{gap:10px}.online{display:none}.profile-text{display:none}.profile-trigger{padding:5px}.loginbox{padding:32px 24px}.login-copyright{font-size:8px}.panel-top{align-items:flex-start;flex-direction:column}footer{padding:15px 18px}}

/* Typography and hierarchy for criteria builder */
body{font-family:Inter,'Segoe UI',Arial,sans-serif;letter-spacing:.05px}header{background:linear-gradient(110deg,#fff 0%,#f0f2ff 55%,#eafaff 100%);border-bottom:1px solid #dfe5fb;box-shadow:0 5px 22px #253d7610}header h2{color:#20264a;font-weight:800;letter-spacing:-.45px}.sidebar{background:linear-gradient(180deg,#101a32 0%,#141d3d 58%,#10182d 100%);box-shadow:8px 0 30px #121b3510}.nav-main,.nav-dropdown summary{transition:background .2s ease,transform .2s ease}.nav-dropdown[open] summary{background:linear-gradient(100deg,#6258df33,#35b8d622);color:#fff}.nav-dropdown summary:hover,.nav-main:hover{transform:translateX(2px)}.criterion-hint{margin-top:8px;color:#6558d8;font-size:11px;font-weight:600}.field select{width:100%;border:1px solid #dfe4ef;border-radius:9px;padding:10px 12px;font-size:12px;background:#fff}.modal-content{border:1px solid #e3e7f5;box-shadow:0 25px 90px #101a3240}

.criteria-menu-switch{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}.criteria-menu-switch label{font-size:10px;color:#77819a;font-weight:700}.criteria-menu-switch select{border:1px solid #dfe4ef;border-radius:8px;padding:7px 10px;font-size:11px;color:#303958;background:#fff}.criteria-menu-switch select:disabled{opacity:.75}


/* Hierarchy manager, futuristic modals, data tables and instant search */
.master-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.btn-cyan{background:linear-gradient(110deg,#16b9c9,#36d5cf);color:#08263b;border:0;box-shadow:0 8px 18px #21bec72a;font-weight:750}.btn-cyan:hover{color:#08263b;filter:brightness(1.04);transform:translateY(-1px)}.btn-violet{background:linear-gradient(110deg,#8d5cf6,#5e62e8);color:#fff;border:0;box-shadow:0 8px 18px #705de72b;font-weight:750}.btn-violet:hover{color:#fff;filter:brightness(1.06);transform:translateY(-1px)}.master-stats{display:flex;gap:10px;flex-wrap:wrap;margin:-2px 0 20px}.master-stats span{border:1px solid #e5e9fa;border-radius:10px;padding:9px 13px;background:linear-gradient(110deg,#f8f8ff,#f0fbff);font-size:11px;color:#7b86a2}.master-stats b{font-size:15px;color:#5c5ad9;margin-right:5px}.section-table-gap{margin-top:26px}.section-table-gap h5{font-weight:800;font-size:13px;margin-bottom:12px;color:#313c61}.tech-modal{position:relative;background:linear-gradient(145deg,#fff 0%,#fbfcff 70%,#f2fbff 100%)}.tech-modal:before{content:"";height:3px;position:absolute;inset:0 0 auto;background:linear-gradient(90deg,#7464ef,#31c9d5,#43dfb3);z-index:2}.tech-modal .modal-header{background:radial-gradient(ellipse at 90% 10%,#55d4dd24,transparent 38%),linear-gradient(115deg,#f3f1ff,#f0fbff);padding:25px 26px 21px}.tech-modal .modal-title{font-size:19px;letter-spacing:-.4px}.tech-modal .modal-body{gap:17px}.tech-modal .field label{color:#4e5a7d;font-size:11px}.tech-modal .field input,.tech-modal .field select,.tech-modal .field textarea{min-height:43px;border-radius:11px;background:#fff;box-shadow:0 3px 12px #1b285006;transition:border-color .2s,box-shadow .2s}.tech-modal .field input:focus,.tech-modal .field select:focus,.tech-modal .field textarea:focus{border-color:#776cf0;box-shadow:0 0 0 4px #776cf01a}.modal-tip{border:1px solid #dce8ff;background:linear-gradient(110deg,#f5f4ff,#effcff);border-radius:11px;padding:11px 13px;color:#646c99;font-size:10px;line-height:1.6}.btn-cancel{background:linear-gradient(110deg,#fff1f2,#ffe4e8);border:1px solid #ffc8d0;color:#b42345;font-weight:750;border-radius:9px;padding:9px 17px;box-shadow:0 5px 14px #e3486810}.btn-cancel:hover{background:linear-gradient(110deg,#ffe0e5,#ffcbd4);color:#8d1833;border-color:#f6aab7}.modern-modal .modal-footer .btn-primary{border-radius:9px;padding:9px 17px;font-weight:750}.modern-modal .modal-footer .btn-primary span{margin-left:7px}.smart-table{border-collapse:separate;border-spacing:0;margin-bottom:0;border:1px solid #e2e7f3;border-radius:12px;overflow:hidden;background:#fff}.smart-table thead th{background:linear-gradient(105deg,#202b57,#4c55b7 58%,#287eaa);color:#fff!important;font-size:10px;font-weight:800;letter-spacing:.65px;text-transform:uppercase;border:0;padding:14px 15px;vertical-align:middle;white-space:nowrap}.smart-table tbody td{padding:13px 15px;border-color:#edf0f8;color:#45516e;vertical-align:middle;line-height:1.55}.smart-table tbody tr:nth-child(even){background:#f8faff}.smart-table tbody tr{transition:background .15s,box-shadow .15s}.smart-table tbody tr:hover{background:#edf7ff;box-shadow:inset 3px 0 #7464ef}.smart-table a{font-weight:700;color:#5d5bd5;text-decoration:none}.smart-table a:hover{text-decoration:underline}.live-search-wrap{position:relative;max-width:360px;margin:0 0 12px auto}.live-search-wrap .search-glyph{position:absolute;left:13px;top:50%;transform:translateY(-52%);font-size:21px;color:#7164e8;pointer-events:none}.live-table-search{width:100%;border:1px solid #dfe5f3;border-radius:11px;background:linear-gradient(110deg,#fff,#f8fbff);padding:11px 13px 11px 39px;font-size:11px;color:#283453;outline:none;box-shadow:0 5px 16px #17213b08;transition:.2s}.live-table-search:focus{border-color:#7a70ed;box-shadow:0 0 0 4px #7668ed18}.live-table-search::placeholder{color:#9ba5ba}.table-responsive{border-radius:12px}.table-responsive .table{margin-bottom:0}.table-responsive:not(:has(.smart-table)){border:1px solid #e2e7f3;border-radius:12px;overflow:hidden}.table-responsive:not(:has(.smart-table)) table thead th,.table-responsive:not(:has(.smart-table)) table>tbody>tr:first-child th{background:linear-gradient(105deg,#202b57,#4c55b7 58%,#287eaa);color:#fff!important;padding:14px 15px;border:0;font-size:10px;text-transform:uppercase;letter-spacing:.65px}.table-responsive:not(:has(.smart-table)) table tbody td{padding:13px 15px;border-color:#edf0f8}.btn-light{background:linear-gradient(110deg,#fff1f2,#ffe4e8);border-color:#ffc8d0;color:#b42345;font-weight:700}.btn-light:hover{background:#ffdce2;color:#8d1833;border-color:#f6aab7}
@media(max-width:800px){.master-actions{justify-content:flex-start;width:100%}.master-actions .btn{flex:1 1 100%}.live-search-wrap{max-width:none}.smart-table thead th,.smart-table tbody td{padding:11px 12px}.tech-modal .modal-header{padding:22px 20px}.tech-modal .modal-body{padding:20px}.tech-modal .modal-footer{padding:13px 20px}}

/* TECH UI V2 — header, active navigation, modal depth and system toasts */
:root{--tech-violet:#7567f4;--tech-cyan:#31c7d5;--tech-ink:#182443;--tech-line:#e3e9f7}
.sidebar{background:radial-gradient(ellipse at 8% 0%,#313a7b55,transparent 34%),linear-gradient(180deg,#0a1229 0%,#101a37 48%,#0a142b 100%);border-right:1px solid #8396ff20;box-shadow:10px 0 36px #07112720}
.sidebar:after{content:"";position:fixed;left:0;bottom:0;width:250px;height:180px;pointer-events:none;background:radial-gradient(ellipse at 35% 100%,#32c8d41b,transparent 68%)}
.sidebar .brand{position:relative;margin-bottom:25px;padding:0 4px 25px;border-bottom:1px solid #ffffff12}
.sidebar .brand .logo{border:1px solid #ffffff50;box-shadow:0 0 0 5px #7b6bff12,0 10px 28px #4f54dc45}
.sidebar .brand b{font-size:13px;letter-spacing:1.35px;background:linear-gradient(90deg,#fff,#b8caff);-webkit-background-clip:text;background-clip:text;color:transparent}
.sidebar .brand small{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;margin-top:5px;color:#8193bf}
.sidebar .nav-main{position:relative;display:flex;align-items:center;gap:12px;margin:5px 0;padding:12px 13px;border:1px solid transparent;border-radius:12px;color:#aebbd9;font-size:12px;font-weight:650;letter-spacing:.1px;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}
.sidebar .nav-main:hover{transform:translateX(2px);border-color:#9ba9ff20;background:linear-gradient(100deg,#ffffff0d,#ffffff04);box-shadow:0 6px 16px #03081720}
.sidebar .nav-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border:1px solid #9eabff22;border-radius:10px;background:linear-gradient(145deg,#28365a,#182442);color:#9fafff;font-size:15px;box-shadow:inset 0 1px #ffffff0b}
.sidebar .nav-text{flex:1}
.sidebar .nav-main.nav-active{color:#fff;border-color:#a6a0ff45;background:linear-gradient(105deg,#7567f4 0%,#555fda 58%,#287fa6 130%);box-shadow:0 9px 23px #6257e63b,inset 0 1px #ffffff38}
.sidebar .nav-main.nav-active:before{content:"";position:absolute;left:-18px;top:9px;bottom:9px;width:3px;border-radius:0 4px 4px 0;background:#54e0e3;box-shadow:0 0 13px #54e0e3a8}
.sidebar .nav-main.nav-active .nav-icon{color:white;background:#ffffff1a;border-color:#ffffff35;box-shadow:inset 0 1px #ffffff20}
.nav-current{font-size:11px;color:#b7fbff;filter:drop-shadow(0 0 5px #56e0e4)}
.sidebar .caption{font-size:9px;font-weight:800;letter-spacing:1.8px;color:#687ba8;margin:26px 10px 10px}
.nav-dropdown{position:relative;margin:6px 0;border:1px solid transparent;border-radius:13px;transition:border-color .2s,background .2s}
.nav-dropdown[open]{border-color:#9daaff1c;background:linear-gradient(150deg,#ffffff07,#ffffff02)}
.nav-dropdown summary{gap:11px;padding:10px 11px;font-size:11px;min-height:47px}
.nav-symbol{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border:1px solid #9eabff20;border-radius:10px;background:linear-gradient(145deg,#27375c,#172441);color:#8de2ef;font-size:15px}
.nav-dropdown[open] summary .nav-symbol{color:#b9b2ff;border-color:#a39bff42;background:linear-gradient(145deg,#3c3a7c,#24385a);box-shadow:0 0 18px #6d62ec12}
.nav-dropdown[open] summary{color:#fff}
.chevron{font-size:10px;margin-right:3px}
.dropdown-links{margin:3px 8px 8px 26px;padding:5px 0 4px 13px;border-left:1px solid #8295c833}
.dropdown-links a{position:relative;display:flex;align-items:center;gap:9px;padding:10px 10px;margin:3px 0;border:1px solid transparent;border-radius:9px;font-size:10px;line-height:1.25;color:#9eaccd;transition:all .18s}
.dropdown-links a>i:first-child{width:16px;text-align:center;font-size:13px;color:#8297c7}
.dropdown-links a span{flex:1}
.dropdown-links a:hover{color:#fff;background:#ffffff0b;border-color:#ffffff0b;transform:translateX(2px)}
.dropdown-links a.sub-active{color:#fff;background:linear-gradient(100deg,#7065e52b,#32c6d414);border-color:#8d8af33b;box-shadow:inset 2px 0 #5be0e4}
.dropdown-links a.sub-active>i:first-child{color:#9cebf1}
.sub-current{font-size:5px;color:#59e0e3;filter:drop-shadow(0 0 4px #59e0e3)}
.user{position:relative;margin-top:30px;padding:16px 5px 2px;border-top:1px solid #a6b4e51b}
.user-avatar,.profile-avatar{border:1px solid #ffffff42;box-shadow:0 0 0 4px #7468f416,0 7px 18px #121a4730}
header{position:sticky;top:0;z-index:20;min-height:92px;padding:19px 34px;background:radial-gradient(ellipse at 82% 0%,#d9faffa8,transparent 34%),radial-gradient(ellipse at 38% 0%,#e6e4ffb0,transparent 45%),linear-gradient(110deg,#fff 0%,#f7f8ff 52%,#f0faff 100%);border-bottom:1px solid #dfe6f7;box-shadow:0 9px 30px #1524520b}
header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,#7567f4 0%,#31c7d5 52%,#7e8cff 100%);opacity:.65}
header>div:first-child{position:relative;z-index:1}
.header-kicker{display:flex;align-items:center;gap:7px;color:#7a83a5!important;font-size:9px!important;letter-spacing:1.55px!important}
.header-kicker i{font-size:12px;color:#7064e9}
header h2{font-size:23px;letter-spacing:-.65px;background:linear-gradient(100deg,#182443,#454b8d 70%,#167f99);-webkit-background-clip:text;background-clip:text;color:transparent;margin-top:7px}
.header-actions{position:relative;z-index:1;gap:18px}
.online{padding:8px 12px;border:1px solid #c9f1e5;border-radius:999px;background:#f2fffa;color:#168a70;font-size:10px;font-weight:750;box-shadow:0 4px 12px #16a8790a}
.online i{width:7px;height:7px;box-shadow:0 0 0 4px #22c99520,0 0 12px #22c9958a}
.profile-trigger{border-color:#e1e6f6;background:linear-gradient(135deg,#fff,#f7f8ff);padding:7px 11px 7px 7px;border-radius:15px;box-shadow:0 7px 18px #18254b0b;transition:all .2s}
.profile-trigger:hover,.profile-trigger[aria-expanded=true]{border-color:#c8c2ff;box-shadow:0 8px 22px #6c60e51c;transform:translateY(-1px)}
.profile-chevron{font-size:11px}
.content{padding-top:28px}
.modern-modal{overflow:hidden;border:1px solid #dfe6fa;border-radius:21px;box-shadow:0 28px 90px #07122e35,0 0 0 1px #ffffffb8;backdrop-filter:blur(20px)}
.modal-backdrop.show{opacity:.62;background:#09132d;backdrop-filter:blur(5px)}
.tech-modal:after,.modern-modal:after{content:"";position:absolute;top:3px;right:0;width:150px;height:90px;pointer-events:none;background:radial-gradient(ellipse at top right,#6bcbef20,transparent 70%)}
.modern-modal .modal-header{position:relative;z-index:1;border-bottom:1px solid #e5eafb}
.modern-modal .modal-header p{max-width:420px;color:#7c87a5;font-size:11px;line-height:1.55;margin:7px 0 0}
.modal-kicker{display:inline-flex;align-items:center;gap:7px;padding:5px 8px;border:1px solid #dcdfff;border-radius:6px;background:#f3f2ff;color:#7567df;font-size:8px;font-weight:850;letter-spacing:1.35px}
.modern-modal .modal-body{position:relative;z-index:1;padding:25px 26px}
.modern-modal .modal-footer{position:relative;z-index:1;gap:8px;padding:16px 26px 21px;border-top:1px solid #e8edf8;background:linear-gradient(90deg,#fbfcff,#f5fbff)}
.modern-modal .field{margin-bottom:14px}
.modern-modal .field label{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.15px;color:#4c587b}
.modern-modal .field label:before{content:"";width:4px;height:4px;border-radius:50%;background:#7c70ee;box-shadow:0 0 0 3px #7c70ee16}
.modern-modal .field input,.modern-modal .field select,.modern-modal .field textarea{font-size:12px;padding:11px 13px;color:#263452;border-color:#dfe5f3;box-shadow:0 4px 13px #1a285007}
.modern-modal .field input::placeholder,.modern-modal .field textarea::placeholder{color:#a1abc0}
.modern-modal .field input:focus,.modern-modal .field select:focus,.modern-modal .field textarea:focus{border-color:#8276f5;box-shadow:0 0 0 4px #776cf01a,0 7px 18px #554bda0b}
.btn-primary{background:linear-gradient(105deg,#6f62e9,#555fd8 60%,#287fa8);border:1px solid #7167e9;color:#fff;box-shadow:0 8px 19px #655ce52c;font-weight:750;transition:transform .18s,box-shadow .18s,filter .18s}
.btn-primary:hover,.btn-primary:focus{background:linear-gradient(105deg,#7a6df3,#5c68e6 60%,#268eae);border-color:#786df0;color:#fff;transform:translateY(-1px);box-shadow:0 11px 24px #655ce542}
.btn-cancel{min-width:88px;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.tech-toast-container{z-index:2000;max-width:min(430px,100vw);padding:18px!important}
.tech-toast{position:relative;display:flex;align-items:flex-start;gap:13px;width:min(410px,calc(100vw - 28px));padding:16px 16px 15px;border:1px solid #dce7f6;border-radius:17px;background:linear-gradient(135deg,#fff 0%,#fbfcff 70%,#f1fbff 100%);box-shadow:0 22px 60px #08142e2b,0 0 0 1px #ffffffb5;backdrop-filter:blur(18px);opacity:1}
.tech-toast:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:17px 0 0 17px;background:linear-gradient(180deg,#37d7b0,#16a879)}
.tech-toast.toast-error:before{background:linear-gradient(180deg,#ff9a9a,#dc3c66)}
.toast-icon{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:13px;background:linear-gradient(145deg,#d9fff2,#eafbf5);color:#139b75;font-size:20px;box-shadow:inset 0 0 0 1px #b8f1df}
.toast-error .toast-icon{background:linear-gradient(145deg,#fff0f1,#ffe5ea);color:#d63d62;box-shadow:inset 0 0 0 1px #ffd0d9}
.toast-content{display:flex;flex-direction:column;gap:4px;min-width:0;padding-right:3px;flex:1}
.toast-content strong{font-size:13px;color:#1c2948;letter-spacing:-.1px}
.toast-content span{font-size:11px;line-height:1.5;color:#596680;overflow-wrap:anywhere}
.toast-content small{font-size:7px;font-weight:850;letter-spacing:1.25px;color:#9aa4ba;margin-top:4px}
.tech-toast .btn-close{position:absolute;top:12px;right:12px;width:8px;height:8px;padding:5px;opacity:.4}
.tech-toast .btn-close:hover{opacity:.8}
.inline-feedback.alert-success{display:none}
.inline-feedback.alert-danger{border:1px solid #ffd2d9;border-radius:12px;background:linear-gradient(110deg,#fff5f6,#fff);color:#a72849;font-size:12px;box-shadow:0 8px 20px #c8325010}
@keyframes toastEnter{from{opacity:0;transform:translate3d(20px,-8px,0) scale(.98)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
.tech-toast.show{animation:toastEnter .28s ease-out both}
.smart-table{box-shadow:0 7px 24px #192b5008}
@media(max-width:800px){.sidebar:after{display:none}.sidebar .brand{margin-bottom:16px}.sidebar .nav-main{display:flex}.sidebar h6,.sidebar .caption{display:block}.sidebar>a:not(:first-child){display:flex}.sidebar .user{display:flex}.nav-dropdown summary{display:flex!important}.dropdown-links{display:block!important}.header-kicker{font-size:8px!important;letter-spacing:1px!important}header{min-height:unset;align-items:flex-start;gap:12px;flex-wrap:wrap;padding:17px 18px}header h2{font-size:19px}.header-actions{width:100%;justify-content:space-between}.tech-toast-container{padding:12px!important}.modern-modal .modal-body{padding:20px}.modern-modal .modal-footer{padding:13px 20px 17px}}
@media(prefers-reduced-motion:reduce){.tech-toast.show{animation:none}.sidebar .nav-main,.dropdown-links a,.profile-trigger{transition:none}}


/* UI POLISH V3 — centered tables, vivid headers, tech backgrounds, readable submenus */
:root{--tech-violet:#7667f5;--tech-blue:#405bd5;--tech-cyan:#30cbd7;--tech-deep:#121b3a}
html{scroll-behavior:smooth}
body{background:radial-gradient(ellipse at 82% 0%,#d8f8ff65,transparent 32%),radial-gradient(ellipse at 10% 25%,#e0ddff72,transparent 30%),linear-gradient(135deg,#f4f7ff 0%,#eef4ff 48%,#f2fbff 100%);background-attachment:fixed}
main{background:transparent}
.content{position:relative;background:radial-gradient(ellipse at 100% 0%,#d5f8ff35,transparent 28%),radial-gradient(ellipse at 0% 45%,#dcdfff38,transparent 35%);}
.content>.panel,.content>.filters,.content>.metric,.content>.card,.content .panel,.content .filters{background:linear-gradient(145deg,#ffffffef 0%,#f9fbffed 62%,#f2fbffed 100%);border-color:#dfe7f7;box-shadow:0 14px 34px #172b5710,0 2px 6px #172b5705;backdrop-filter:blur(10px)}
header{min-height:78px;padding:17px 34px;background:radial-gradient(ellipse at 78% 0%,#7de8f52b,transparent 34%),radial-gradient(ellipse at 25% 0%,#8c85ff25,transparent 40%),linear-gradient(112deg,#18254c 0%,#303c83 48%,#116e91 100%);border-bottom:1px solid #9cebf233;box-shadow:0 12px 32px #1d2c6a22;}
header:after{height:3px;opacity:1;background:linear-gradient(90deg,#9d8cff 0%,#59dce8 48%,#b5fbff 70%,#8178ff 100%)}
header .header-kicker{color:#d4e5ff!important;font-size:10px!important;letter-spacing:1.65px!important;text-shadow:0 0 16px #79dff344}
header .header-kicker i{color:#7ef0f2;font-size:14px;filter:drop-shadow(0 0 6px #62e8ef88)}
header>div:first-child{min-height:30px;display:flex;align-items:center}
header .online{background:#d7fff014;color:#c8fff0;border-color:#8af5d53b;box-shadow:inset 0 1px #ffffff12,0 0 18px #22c9950b}
header .online i{background:#5cf0bd;box-shadow:0 0 0 4px #5cf0bd20,0 0 13px #5cf0bd}
header .profile-trigger{background:linear-gradient(135deg,#ffffff1c,#ffffff0d);border-color:#d9e8ff38;box-shadow:inset 0 1px #ffffff17,0 8px 22px #07142b20}
header .profile-trigger:hover,header .profile-trigger[aria-expanded=true]{background:linear-gradient(135deg,#ffffff29,#ffffff13);border-color:#9ceaf088}
header .profile-text b{color:#fff}
header .profile-text small,header .profile-chevron{color:#d1ddff}
header .profile-avatar{border-color:#a8f3ff80;box-shadow:0 0 0 4px #70dce41a,0 0 20px #55c9e633}
/* Center all table headers, values, badges and action buttons consistently */
table.table th,table.table td,.table-responsive table th,.table-responsive table td,.smart-table th,.smart-table td{ text-align:center!important;vertical-align:middle!important }
.table-responsive table thead th,.smart-table thead th,table.table thead th{background:linear-gradient(105deg,#202b57 0%,#4655b8 48%,#167c9f 100%)!important;color:#fff!important;border-color:#5265bd!important;font-size:10px;font-weight:800;letter-spacing:.65px;text-transform:uppercase;padding:14px 13px;vertical-align:middle!important;box-shadow:inset 0 1px #ffffff19}
.table-responsive table thead th:first-child,.smart-table thead th:first-child{border-top-left-radius:8px}
.table-responsive table thead th:last-child,.smart-table thead th:last-child{border-top-right-radius:8px}
.table-responsive table tbody td,.smart-table tbody td,table.table tbody td{padding:13px 12px;border-color:#e8edf8;color:#34415f;font-size:12px}
.table-responsive table tbody tr:nth-child(even),.smart-table tbody tr:nth-child(even),table.table tbody tr:nth-child(even){background:#f5f8ff}
.table-responsive table tbody tr:hover,.smart-table tbody tr:hover,table.table tbody tr:hover{background:#eaf8ff;transition:background .16s ease}
.table-responsive table tbody td .btn,.smart-table tbody td .btn,table.table tbody td .btn{margin:2px 2px;vertical-align:middle}
.table-responsive table tbody td .btn-group,.smart-table tbody td .btn-group{justify-content:center}
/* Stronger contrast and sizing for submenu labels */
.dropdown-links a{font-size:11.5px!important;line-height:1.4!important;font-weight:650!important;color:#c4d2f2!important;padding:11px 10px!important;min-height:38px;letter-spacing:.08px}
.dropdown-links a>i:first-child{font-size:14px!important;color:#9cb7ed!important}
.dropdown-links a:hover{color:#fff!important;background:linear-gradient(100deg,#ffffff15,#49d9e512)!important;border-color:#a4c7ff28!important}
.dropdown-links a.sub-active{color:#fff!important;font-weight:800!important;background:linear-gradient(100deg,#7164e95c,#24c5d42b)!important;border-color:#a6b7ff66!important;box-shadow:inset 3px 0 #63f1f0,0 5px 14px #040b1a22!important}
.dropdown-links a.sub-active>i:first-child{color:#8ffaff!important}
.nav-dropdown summary{font-size:12px!important;color:#e0e9ff!important;font-weight:750!important}
.sidebar .caption{color:#a3b5dc!important;font-size:9px!important;letter-spacing:1.65px!important}
/* Clearer, more tactile action buttons */
.btn-cancel{color:#a92348!important;background:linear-gradient(115deg,#fff0f3,#ffdfe7)!important;border:1px solid #ffc0d0!important;box-shadow:0 6px 16px #d33b6415!important;font-weight:750!important}
.btn-cancel:hover{color:#861c3b!important;background:linear-gradient(115deg,#ffe0e8,#ffcbd8)!important;border-color:#f59bb2!important;transform:translateY(-1px)}
@media(max-width:800px){header{min-height:70px;padding:15px 18px}header>div:first-child{min-height:25px}.table-responsive table thead th,.smart-table thead th{padding:11px 9px;font-size:9px}.table-responsive table tbody td,.smart-table tbody td,table.table tbody td{padding:10px 8px;font-size:11px}.dropdown-links a{font-size:12px!important}}

/* TECH UI V4 — vivid dashboard cards and reliable modal interaction */
header .header-spacer{flex:1;min-height:26px}
.dashboard-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0 24px}
.dashboard-metrics .metric{position:relative;isolation:isolate;overflow:hidden;min-height:170px;padding:23px 23px 20px 76px;border:1px solid #ffffff75;border-radius:19px;color:#fff;box-shadow:0 18px 40px #172b571c,inset 0 1px #ffffff42;transition:transform .22s ease,box-shadow .22s ease}
.dashboard-metrics .metric:hover{transform:translateY(-4px);box-shadow:0 24px 48px #172b5726,inset 0 1px #ffffff50}
.dashboard-metrics .metric:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 100% 0%,#ffffff35,transparent 38%),linear-gradient(125deg,#ffffff0d,transparent 65%)}
.dashboard-metrics .metric:after{content:"";position:absolute;z-index:-1;width:135px;height:135px;border:1px solid #ffffff22;border-radius:50%;right:-48px;bottom:-75px;box-shadow:0 0 0 18px #ffffff08,0 0 0 38px #ffffff05}
.dashboard-metrics .metric-total{background:linear-gradient(125deg,#283b87 0%,#5265db 52%,#6e69e9 100%);border-color:#8796f6}
.dashboard-metrics .metric-linked{background:linear-gradient(125deg,#087d87 0%,#12a6b5 50%,#39c8c4 100%);border-color:#7de5e3}
.dashboard-metrics .metric-missing{background:linear-gradient(125deg,#813b9d 0%,#a34cb7 50%,#d16b9b 100%);border-color:#edacd4}
.dashboard-metrics .metric small{display:block;color:#f2f5ff;font-size:11px;font-weight:750;letter-spacing:.35px;margin:5px 0 8px}
.dashboard-metrics .metric strong{display:block;color:#fff;font-size:35px;font-weight:850;letter-spacing:-1px;line-height:1.15;margin:7px 0 8px;text-shadow:0 4px 18px #101a3320;font-variant-numeric:tabular-nums}
.dashboard-metrics .metric span:not(.metric-icon){color:#e0fff7;font-size:10px;font-weight:700}
.dashboard-metrics .metric em{display:block;color:#e1e8ff;font-style:normal;font-size:10px;margin-top:4px}
.dashboard-metrics .metric-icon{position:absolute;left:20px;top:24px;display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff4d;border-radius:14px;background:#ffffff20;color:#fff;font-size:20px;box-shadow:inset 0 1px #ffffff3d,0 8px 18px #111a3212;backdrop-filter:blur(8px)}
/* Bootstrap modals must sit above all app panels and remain fully clickable. */
.modal{z-index:1065!important;pointer-events:none}
.modal.show{pointer-events:auto}
.modal-dialog,.modal-content,.modal-content form,.modal-content button,.modal-content input,.modal-content select,.modal-content textarea{pointer-events:auto}
.modal-backdrop{z-index:1060!important}
.modal-backdrop.show{opacity:.68;background:#07132d;backdrop-filter:blur(5px)}
.modal-dialog{transform:translateY(8px) scale(.985);transition:transform .22s ease}
.modal.show .modal-dialog{transform:translateY(0) scale(1)}
.modern-modal{position:relative;z-index:1;max-height:calc(100vh - 2rem);overflow:hidden;border:1px solid #ffffffad!important;border-radius:21px!important;box-shadow:0 30px 100px #07142b70,0 0 0 1px #a9bbff27!important}
.modern-modal .modal-body{overflow-y:auto;overscroll-behavior:contain}
.modern-modal .modal-header{background:radial-gradient(ellipse at 100% 0%,#73e7ef20,transparent 40%),linear-gradient(120deg,#f8f9ff,#f0faff);border-bottom:1px solid #dfe8fa}
.modern-modal .modal-footer{position:relative;z-index:2}
.modern-modal button,.modern-modal input,.modern-modal select,.modern-modal textarea{position:relative;z-index:3}
@media(max-width:800px){.dashboard-metrics{grid-template-columns:1fr;gap:12px}.dashboard-metrics .metric{min-height:145px}.modal-dialog{margin:.65rem}.modern-modal{max-height:calc(100vh - 1.3rem)}}

/* TECH UI V5 — master edit/delete modals and spreadsheet-style SAKIP monitoring */
.master-row-actions{min-width:170px;white-space:nowrap}
.master-row-actions .btn{border-radius:9px!important;font-size:10px!important;font-weight:750!important;padding:7px 10px!important;box-shadow:0 4px 12px #1d2c5b0c;transition:transform .16s ease,box-shadow .16s ease}
.master-row-actions .btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px #1d2c5b1c}
.master-row-actions .btn-outline-primary{color:#405bd5!important;border-color:#bdc9ff!important;background:linear-gradient(135deg,#f7f8ff,#edf1ff)!important}
.master-row-actions .btn-outline-danger{color:#bd3156!important;border-color:#ffc6d2!important;background:linear-gradient(135deg,#fff8fa,#ffe9ef)!important}
.delete-confirm-icon{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 16px;border:1px solid #ffbacb;border-radius:21px;background:radial-gradient(circle at 30% 20%,#fff,#ffe3eb 72%);color:#c72f57;font-size:27px;box-shadow:0 10px 26px #ca31501d,inset 0 1px #fff}
.btn-danger{border:1px solid #b9274b!important;background:linear-gradient(120deg,#c92d55,#ec5572)!important;box-shadow:0 8px 20px #d6335d2b!important;font-weight:800!important}
.btn-danger:hover{background:linear-gradient(120deg,#b92349,#d84262)!important;transform:translateY(-1px)}
.monitoring-panel{padding:26px!important}
.monitoring-toolbar{align-items:center!important;gap:18px;flex-wrap:wrap;border-bottom:1px solid #e1e8f7;padding-bottom:20px;margin-bottom:16px}
.monitoring-toolbar h4{margin:4px 0 5px!important;color:#17264f;font-size:21px!important;font-weight:850;letter-spacing:-.35px}
.monitoring-toolbar p{margin:0;color:#6b7897;font-size:12px}
.monitoring-toolbar .modal-kicker{font-size:9px;font-weight:850;letter-spacing:1.5px;color:#5573d9}
.monitoring-tools{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.year-filter{display:grid;gap:5px;min-width:135px}
.year-filter label{font-size:10px;font-weight:800;color:#647292}
.year-filter select{min-height:39px;border:1px solid #cbd7f3;border-radius:10px;padding:8px 12px;background:linear-gradient(135deg,#fff,#f0f6ff);color:#25355e;font-weight:750;outline:none;box-shadow:0 5px 15px #1d3d7910}
.monitoring-tools>.btn{min-height:39px;border-radius:10px!important;font-size:11px;font-weight:800;box-shadow:0 8px 18px #334caa20}
.monitoring-meta{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 18px}
.monitoring-meta span{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #dce6f8;border-radius:999px;background:linear-gradient(120deg,#fff,#f0f7ff);color:#42547c;font-size:10px;font-weight:750;box-shadow:0 5px 13px #172b5708}
.monitoring-meta i{color:#5275dc;font-size:13px}
.monitoring-table-wrap{border:1px solid #d7e1f4;border-radius:14px;overflow:hidden;box-shadow:0 12px 30px #1b32630b}
.monitoring-sheet{margin:0!important;border-collapse:separate!important;border-spacing:0!important;min-width:720px;background:#fff}
.monitoring-sheet thead th{position:sticky;top:0;background:linear-gradient(105deg,#1c2855 0%,#3c4f9f 48%,#087e9a 100%)!important;color:#fff!important;border:1px solid #5064a7!important;padding:14px 13px!important;font-size:10px!important;letter-spacing:.8px;text-transform:uppercase;text-align:center!important}
.monitoring-sheet .col-no{width:84px}.monitoring-sheet .col-evidence{width:29%}
.monitoring-sheet tbody td{padding:12px 14px!important;border-right:1px solid #e2e8f5!important;border-bottom:1px solid #e2e8f5!important;font-size:12px!important;color:#34415f;text-align:left!important;vertical-align:middle!important}
.monitoring-sheet tbody td:first-child{text-align:center!important;color:#52648c;font-weight:800;font-variant-numeric:tabular-nums}
.monitoring-sheet .monitor-component-row td{background:linear-gradient(100deg,#e5eaff,#edf4ff 68%,#e8fbff)!important;color:#233875!important;border-top:1px solid #c6d4fa!important;font-size:12px!important}
.monitoring-sheet .monitor-component-row td:nth-child(2){font-weight:900;letter-spacing:.3px;text-transform:uppercase}
.monitoring-sheet .monitor-subcomponent-row td{background:linear-gradient(100deg,#f0f2ff,#f7f9ff)!important;color:#3b4f8b!important;font-weight:750}
.monitoring-sheet .monitor-subcomponent-row td:nth-child(2){padding-left:24px!important}
.monitoring-sheet .monitor-criteria-label td{background:linear-gradient(100deg,#edf9ff,#f0f7ff)!important;color:#087d9c!important;font-weight:850!important;font-size:10px!important;text-transform:uppercase;letter-spacing:.6px;padding-top:9px!important;padding-bottom:9px!important}
.monitoring-sheet .monitor-criteria-label td:first-child{text-align:left!important}
.monitoring-sheet .monitor-criterion-row:nth-child(even) td{background:#fbfcff}
.monitoring-sheet .monitor-criterion-row:hover td{background:#f0fbff!important}
.monitoring-sheet .monitor-criterion-row td:nth-child(2){padding-left:22px!important}
.monitoring-sheet .criterion-title{font-weight:650;line-height:1.55;color:#2e3d5d}
.monitoring-sheet .criterion-description{display:block;margin-top:5px;color:#71809f;font-size:10px;line-height:1.5;white-space:normal}
.monitoring-sheet .evidence-cell{min-width:190px;text-align:left!important}
.evidence-link{display:flex;align-items:center;gap:7px;width:fit-content;max-width:100%;margin:3px 0;padding:7px 10px;border:1px solid #bfe8dc;border-radius:9px;background:linear-gradient(120deg,#f0fff9,#e4fbf4);color:#087b60!important;font-size:10px;font-weight:800;text-decoration:none;overflow-wrap:anywhere;box-shadow:0 4px 10px #0b99700a}
.evidence-link:hover{background:linear-gradient(120deg,#dffcf1,#d4f7ef);border-color:#79d9c0;color:#05694f!important}
.evidence-missing{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #f3dca7;border-radius:8px;background:#fff9e9;color:#9a6b16;font-size:10px;font-weight:750}
.empty-monitor{color:#8490aa!important;text-align:center!important;font-style:italic;font-size:11px!important}
.monitoring-footnote{display:flex;align-items:flex-start;gap:8px;margin:14px 0 0;color:#7886a2;font-size:10px;line-height:1.6}
.monitoring-footnote i{color:#5778d8;font-size:13px}
@media print{
 @page{size:A4 landscape;margin:10mm}
 body{background:#fff!important;color:#111!important}
 .sidebar,header,footer,.monitoring-tools,.monitoring-meta,.live-search-wrap,.monitoring-footnote{display:none!important}
 main{margin:0!important;padding:0!important;width:100%!important;background:#fff!important}
 .content{padding:0!important;background:#fff!important}
 .monitoring-panel,.content>.panel{padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important}
 .monitoring-toolbar{padding:0 0 8px!important;margin-bottom:8px!important;border-bottom:1px solid #bbb!important}
 .monitoring-toolbar h4{font-size:15pt!important;color:#111!important}
 .monitoring-toolbar p{font-size:9pt!important;color:#333!important}
 .monitoring-table-wrap{border:1px solid #999!important;overflow:visible!important;box-shadow:none!important}
 .monitoring-sheet{min-width:0!important;font-size:8pt!important}
 .monitoring-sheet thead th{position:static!important;background:#dce5f5!important;color:#111!important;border:1px solid #777!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .monitoring-sheet tbody td{padding:5px 7px!important;font-size:8pt!important;color:#111!important;border-color:#aaa!important}
 .monitoring-sheet .monitor-component-row td,.monitoring-sheet .monitor-subcomponent-row td,.monitoring-sheet .monitor-criteria-label td{print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .evidence-link{padding:0!important;border:0!important;background:transparent!important;color:#111!important;box-shadow:none!important;font-size:7.5pt!important;text-decoration:underline!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .evidence-missing{padding:0!important;border:0!important;background:transparent!important;color:#555!important}
 a[href]:after{content:""!important}
 tr{break-inside:avoid;page-break-inside:avoid}
}
@media(max-width:800px){.monitoring-panel{padding:16px!important}.monitoring-toolbar h4{font-size:17px!important}.monitoring-tools{width:100%;align-items:stretch}.year-filter{flex:1}.monitoring-tools>.btn{align-self:end}.master-row-actions{min-width:150px}}
/* Upload sheet: structured hierarchy and compact action controls */
.upload-subcomponent{margin:.25rem 0;color:#0e7490;font-size:.88rem;font-weight:700;padding-left:.65rem;border-left:3px solid #22d3ee}
.monitoring-sheet td{vertical-align:middle}
.monitoring-sheet td .criterion-description{display:block;margin-top:.25rem;color:#718096;line-height:1.45}
.monitoring-sheet .btn-sm{white-space:nowrap;border-radius:9px;font-weight:700;box-shadow:0 5px 14px rgba(58,87,190,.16)}
@media print{.monitoring-tools,.live-search-wrap{display:none!important}.upload-page-table td:last-child,.upload-page-table th:last-child{display:none!important}}

/* Unggah Data: hierarchical SAKIP sheet with fully wrapping labels */
.upload-hierarchy-wrap{overflow-x:auto;border-radius:14px}
.upload-hierarchy{width:100%;min-width:900px;table-layout:fixed}
.upload-hierarchy th,.upload-hierarchy td{white-space:normal!important;overflow-wrap:anywhere;word-break:normal;vertical-align:top!important;line-height:1.55;padding:12px 14px!important}
.upload-hierarchy th:nth-child(1){width:7%;text-align:center}
.upload-hierarchy th:nth-child(2){width:43%}
.upload-hierarchy th:nth-child(3){width:22%}
.upload-hierarchy th:nth-child(4){width:28%}
.upload-hierarchy .upload-component-row td{background:linear-gradient(100deg,#263b80,#4559bd)!important;color:#fff!important;font-weight:850!important;font-size:1rem!important;letter-spacing:.02em}
.upload-hierarchy .upload-component-row td:nth-child(2){text-transform:uppercase}
.upload-hierarchy .upload-sub-row td{background:linear-gradient(100deg,#e8edff,#f2f5ff)!important;color:#253d80!important;font-weight:800!important;font-size:.96rem!important}
.upload-hierarchy .upload-sub-row td:nth-child(2){padding-left:28px!important}
.upload-hierarchy .monitor-criteria-label td{background:linear-gradient(100deg,#dff8ff,#eefbff)!important;color:#086b87!important;font-weight:850!important;text-transform:none!important;font-size:.88rem!important}
.upload-hierarchy .monitor-criterion-row td{background:#fff!important;border-bottom:1px solid #e2e9f5!important}
.upload-hierarchy .monitor-criterion-row:hover td{background:#f5fbff!important}
.upload-hierarchy .criterion-title{white-space:normal!important;overflow-wrap:anywhere;line-height:1.65;font-size:.95rem}
.upload-hierarchy .criterion-description{white-space:normal!important;overflow-wrap:anywhere;line-height:1.6;font-size:.84rem}
.upload-hierarchy .upload-answer-cell{overflow-wrap:anywhere}
.upload-score-chip{display:inline-flex;gap:5px;margin-top:9px;padding:4px 9px;border-radius:999px;background:#eef2ff;color:#4657a6;font-size:.8rem}
.upload-evidence-actions{min-width:0;overflow-wrap:anywhere}
.upload-evidence-actions .evidence-link{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.upload-action-line{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px dashed #d6deee;color:#526384;font-size:.82rem}
.upload-action-line .btn{flex-shrink:0}
@media(max-width:768px){.upload-hierarchy{min-width:760px}.upload-hierarchy th,.upload-hierarchy td{padding:9px!important}}

/* V8: longer hierarchy text and robust evidence input actions */
.upload-hierarchy .upload-sub-row td{white-space:normal!important;overflow-wrap:anywhere;word-break:normal;min-width:0;}
.upload-hierarchy .upload-criterion-row td{white-space:normal!important;overflow-wrap:anywhere;word-break:normal;}
.upload-hierarchy .criterion-title{display:block;white-space:normal!important;overflow-wrap:anywhere;line-height:1.65;}
.upload-hierarchy .criterion-order{display:inline-block;color:#3f56bd;font-weight:900;min-width:1.5em;}
.upload-hierarchy .upload-action-line .btn{position:relative;z-index:5;pointer-events:auto;cursor:pointer;}
.upload-hierarchy .upload-evidence-actions{position:relative;z-index:1;overflow:visible;}

/* Perbaikan teks subkomponen panjang: gunakan textarea multi-baris agar teks tidak terpotong saat input/edit. */
#subcomponentModal textarea[name="sub_component_name"], #editSubcomponentName { min-height: 120px !important; height: auto; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; resize: vertical; }

/* TECH UI V10 — centered notification and order controls */
.tech-toast-container.position-fixed.top-50.start-50.translate-middle{left:50%!important;right:auto!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(480px,calc(100vw - 28px));max-width:calc(100vw - 28px);padding:0!important;z-index:3000!important}
.tech-toast-container .tech-toast{width:100%;min-width:0;border:1px solid #b8d5f7;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(239,248,255,.97));box-shadow:0 30px 100px #07152e55,0 0 0 1px #6f8ee626;backdrop-filter:blur(24px)}
.tech-toast-container .tech-toast.show{animation:toastCenterEnter .32s cubic-bezier(.2,.8,.2,1) both}
@keyframes toastCenterEnter{from{opacity:0;transform:translateY(12px) scale(.94);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@media(max-width:800px){.tech-toast-container.position-fixed.top-50.start-50.translate-middle{width:calc(100vw - 28px);max-width:calc(100vw - 28px)}}

/* V13: ensure criteria modal actions remain visible and enlarge centered system notifications */
#criteriaModal .modal-dialog,
#editMasterModal .modal-dialog { width: min(720px, calc(100% - 1.25rem)); max-width: 720px; }
#criteriaModal .modal-content,
#editMasterModal .modal-content { display: flex; flex-direction: column; max-height: calc(100dvh - 1.5rem); overflow: hidden; }
#criteriaModal .modal-content form,
#editMasterModal .modal-content form { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; overflow: hidden; }
#criteriaModal .modal-body,
#editMasterModal .modal-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
#criteriaModal .modal-footer,
#editMasterModal .modal-footer { flex: 0 0 auto; display: flex !important; align-items: center; justify-content: flex-end; gap: 12px; min-height: 76px; padding: 16px 26px 20px !important; background: linear-gradient(100deg,#f8faff,#eefaff); border-top: 1px solid #dfe8f7; box-shadow: 0 -8px 20px #1a2c4b08; visibility: visible !important; opacity: 1 !important; }
#criteriaModal .modal-footer .btn,
#editMasterModal .modal-footer .btn { display: inline-flex !important; align-items: center; justify-content: center; min-height: 42px; white-space: nowrap; position: relative; z-index: 5; }
.tech-toast-container.position-fixed.top-50.start-50.translate-middle { width: min(560px, calc(100vw - 32px)) !important; max-width: calc(100vw - 32px) !important; }
.tech-toast-container .tech-toast { min-height: 118px; gap: 17px; padding: 24px 25px 22px; border-radius: 22px; border-color: #a8c8f3; box-shadow: 0 35px 110px #07152e66, 0 0 0 1px #6f8ee633; }
.tech-toast-container .toast-icon { flex-basis: 54px; width: 54px; height: 54px; border-radius: 17px; font-size: 27px; }
.tech-toast-container .toast-content strong { font-size: 17px; letter-spacing: -.25px; }
.tech-toast-container .toast-content span { font-size: 14px; line-height: 1.65; }
.tech-toast-container .toast-content small { font-size: 9px; letter-spacing: 1.6px; }
@media(max-height:700px) { #criteriaModal .modal-content, #editMasterModal .modal-content { max-height: calc(100dvh - .75rem); } #criteriaModal .modal-header { padding: 18px 22px 14px; } #criteriaModal .modal-body { padding: 18px 22px; gap: 12px; } #criteriaModal .modal-footer { min-height: 66px; padding: 12px 22px !important; } }
@media(max-width:600px) { #criteriaModal .modal-dialog, #editMasterModal .modal-dialog { width: auto; margin: .5rem; } #criteriaModal .modal-footer { justify-content: stretch; } #criteriaModal .modal-footer .btn { flex: 1; } .tech-toast-container .tech-toast { padding: 20px 18px; } .tech-toast-container .toast-content strong { font-size: 15px; } .tech-toast-container .toast-content span { font-size: 12px; } }

/* Monitoring Data: footer follows the complete content/table, never overlays it. */
html, body { min-height: 100%; }
body { min-height: 100vh; }
main { min-height: 100vh; display: flex; flex-direction: column; }
main > .content { flex: 1 0 auto; min-width: 0; }
main > footer { position: relative !important; inset: auto !important; flex-shrink: 0; margin-top: 22px; }
.monitoring-panel .upload-hierarchy-wrap { width: 100%; overflow-x: auto; }
.monitoring-panel .upload-hierarchy { width: 100%; table-layout: auto; }
.monitoring-panel .upload-hierarchy .monitor-component-row td { background: linear-gradient(100deg,#2d438c,#465bc0)!important; color:#fff!important; }
.monitoring-panel .upload-hierarchy .monitor-subcomponent-row td { background:#edf1ff!important; color:#29427f!important; }
.monitoring-panel .upload-hierarchy .monitor-criteria-label td { background:linear-gradient(100deg,#dff8ff,#eefbff)!important; color:#086b87!important; text-transform:none!important; font-size:.88rem!important; }
.monitoring-panel .upload-hierarchy .monitor-criterion-row td { background:#fff!important; border-bottom:1px solid #e2e9f5!important; }
.monitoring-panel .upload-hierarchy .monitor-criterion-row:hover td { background:#f5fbff!important; }
.monitoring-panel .upload-hierarchy .criterion-title { font-size: 12px; }

/* Role-dependent field and Monitoring Data aligned with Unggah Data */
#operatorMenuField[hidden] { display:none !important; }
.monitoring-panel .upload-hierarchy { width:100%; table-layout:auto; }
.monitoring-panel .monitor-answer { color:#596b91; margin-bottom:8px; white-space:normal; overflow-wrap:anywhere; }
.monitoring-panel .upload-score-chip { display:inline-flex; gap:4px; align-items:center; border-radius:20px; padding:7px 10px; background:#eef1ff; color:#5364bf; font-size:12px; }
.monitoring-panel .monitor-evidence-action { margin-top:12px; padding-top:10px; border-top:1px dashed #d6deef; display:flex; justify-content:flex-end; }
.monitoring-panel .upload-criterion-row td { vertical-align:middle; }

/* Evaluator scoring action: visible and clickable inside the Monitoring Data evidence cell. */
.monitoring-panel .monitor-evidence-action { display:flex!important; justify-content:flex-start!important; align-items:center; margin-top:12px; padding-top:10px; border-top:1px dashed #d6deef; position:relative; z-index:4; }
.monitoring-panel .js-evaluator-score { display:inline-flex!important; align-items:center; gap:6px; position:relative; z-index:5; pointer-events:auto; visibility:visible!important; opacity:1!important; }

/* Monitoring Data: criteria layout and evaluator action button */
.monitoring-panel .monitor-criterion-row .criterion-title { display:flex; align-items:flex-start; gap:10px; line-height:1.7; }
.monitoring-panel .monitor-criterion-row .criterion-order { flex:0 0 1.2em; min-width:1.2em; color:#4058c5; font-weight:900; }
.monitoring-panel .monitor-score-action-cell { width:110px; min-width:100px; text-align:center; vertical-align:middle; }
.monitoring-panel .monitor-score-action-cell .js-evaluator-score { display:inline-flex!important; align-items:center; justify-content:center; gap:6px; visibility:visible!important; opacity:1!important; pointer-events:auto!important; position:relative; z-index:10; }

/* Active Monitoring Data view: show the evaluator scoring button inside the evidence/action cell. */
.monitoring-panel .evidence-cell .monitor-evidence-action { display:flex!important; justify-content:flex-start; margin-top:12px; padding-top:10px; border-top:1px dashed #d6deef; position:relative; z-index:8; }
.monitoring-panel .evidence-cell .js-evaluator-score { display:inline-flex!important; visibility:visible!important; opacity:1!important; pointer-events:auto!important; position:relative; z-index:9; }

/* Evaluator scoring action in Monitoring Data */
.monitoring-panel .monitor-evidence-action { display:flex!important; width:100%; margin-top:12px; padding-top:10px; border-top:1px dashed #d6deef; align-items:center; justify-content:flex-start; visibility:visible!important; opacity:1!important; }
.monitoring-panel .monitor-evidence-action .js-evaluator-score { display:inline-flex!important; visibility:visible!important; opacity:1!important; pointer-events:auto!important; position:relative; z-index:20; }

/* Evaluator input score button - force visible in Monitoring Data */
.monitoring-panel .evaluator-score-action { display:flex!important; align-items:center!important; justify-content:flex-start!important; margin-top:12px!important; padding-top:10px!important; border-top:1px dashed #cfd9ee!important; min-height:42px; visibility:visible!important; opacity:1!important; }
.monitoring-panel .evaluator-score-action .js-evaluator-score { display:inline-flex!important; align-items:center!important; justify-content:center!important; gap:6px!important; min-height:34px!important; visibility:visible!important; opacity:1!important; pointer-events:auto!important; }

.monitoring-sheet .weight-cell,.monitoring-sheet .answer-cell,.monitoring-sheet .score-cell { text-align:center; vertical-align:middle; white-space:nowrap; min-width:85px; }
.monitoring-sheet .weight-badge { display:inline-flex; margin-left:10px; padding:4px 9px; border-radius:999px; background:#e9edff; color:#3549a3; font-size:.82em; font-weight:700; }
.monitoring-sheet .answer-cell { font-weight:700; color:#34456b; }

/* Ensure Bobot/Jawaban/Nilai are visible on every individual criterion row. */
.monitoring-sheet tr.upload-criterion-row > td.weight-cell,
.monitoring-sheet tr.upload-criterion-row > td.answer-cell,
.monitoring-sheet tr.upload-criterion-row > td.score-cell {
  display: table-cell !important;
  visibility: visible !important;
  vertical-align: middle;
}
.monitoring-sheet .criterion-weight { display:inline-block; min-width:28px; font-weight:700; text-align:center; }

/* Grouped table header: Unit/Satker over Jawaban and Nilai */
.monitoring-sheet thead th { text-align:center; vertical-align:middle; }
.monitoring-sheet thead th.unit-header { border-bottom:1px solid var(--border-color, #dbe3f5); }
.monitoring-sheet thead tr:nth-child(2) th { font-size:.9em; }

/* Pada baris label Kriteria, kolom Bobot/Jawaban/Nilai dibiarkan kosong. */
.monitoring-sheet .monitor-criteria-label td:nth-child(3),
.monitoring-sheet .monitor-criteria-label td:nth-child(4),
.monitoring-sheet .monitor-criteria-label td:nth-child(5) {
  color: transparent;
}

/* Kolom Bobot/Jawaban/Nilai tidak ditampilkan per kriteria; sel digabung dan dikosongkan. */
.monitoring-sheet tr.upload-criterion-row > td.criterion-metrics-empty {
  padding: 0;
  background: #fff;
  border-left: 0;
  border-right: 0;
}

/* Kriteria menggunakan satu sel lebar; kolom Bobot/Jawaban/Nilai tidak dirender terpisah. */
.monitoring-sheet tr.upload-criterion-row > td[colspan="4"] {
  background: #fff;
  border-right: 1px solid #dbe3f5;
}
.monitoring-sheet tr.upload-criterion-row > td.criterion-metrics-empty { display:none !important; }

/* Hilangkan sel Bobot/Jawaban/Nilai pada setiap baris kriteria di Unggah Data dan Monitoring Data.
   Informasi bobot/jawaban/nilai hanya ditampilkan pada baris komponen/subkomponen. */
.monitoring-sheet tr.monitor-criterion-row.upload-criterion-row > td.weight-cell,
.monitoring-sheet tr.monitor-criterion-row.upload-criterion-row > td.answer-cell,
.monitoring-sheet tr.monitor-criterion-row.upload-criterion-row > td.score-cell {
  display: none !important;
}
.monitoring-sheet tr.monitor-criterion-row.upload-criterion-row > td[colspan="4"] {
  display: table-cell !important;
}

/* Evaluator controls on subcomponent rows */
.subcomponent-eval-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:220px}
.subcomponent-eval-form select,.subcomponent-eval-form input{min-width:70px;max-width:120px;padding:7px 9px;border:1px solid #d8e1f0;border-radius:9px;background:#fff;color:#26385f;font:inherit}
.subcomponent-eval-form button{white-space:nowrap}

/* Jawaban dan nilai subkomponen khusus evaluator pada tabel Monitoring Data */
.monitoring-sheet .upload-sub-row select[form^="subEvalForm"],
.monitoring-sheet .upload-sub-row input[form^="subEvalForm"]{width:100%;min-width:64px;max-width:130px;box-sizing:border-box;padding:8px 9px;border:1px solid #cbd7ec;border-radius:9px;background:#fff;color:#27395f;font:inherit}
.monitoring-sheet .upload-sub-row .subcomponent-eval-form{margin:0;display:flex;justify-content:center}

/* Modern evaluator auto-save controls */
.eval-control-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:112px}
.eval-answer-select,.eval-score-input{width:100%;max-width:160px;min-height:42px;padding:9px 13px;border:1px solid #cbd8f2;border-radius:12px;background:linear-gradient(180deg,#fff,#f5f8ff);color:#263b68;font:600 14px inherit;box-shadow:0 3px 10px rgba(44,72,140,.07);outline:none;transition:border-color .18s,box-shadow .18s,transform .18s}
.eval-answer-select{cursor:pointer;font-weight:700}
.eval-score-input{font-variant-numeric:tabular-nums}
.eval-answer-select:focus,.eval-score-input:focus{border-color:#6875f5;box-shadow:0 0 0 4px rgba(104,117,245,.14);transform:translateY(-1px)}
.eval-save-status{display:inline-flex;align-items:center;gap:5px;min-height:18px;font-size:11px;font-weight:600;color:#13865d;white-space:nowrap}
.eval-save-status.is-saving{color:#4263c7}
.eval-save-status.is-pending{color:#b7791f}
.eval-save-status i{font-size:13px}

/* Modern evaluator auto-save controls */
.eval-control-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:112px}
.eval-answer-select,.eval-score-input{width:100%;max-width:160px;min-height:42px;padding:9px 13px;border:1px solid #cbd8f2;border-radius:12px;background:linear-gradient(180deg,#fff,#f5f8ff);color:#263b68;font-family:inherit;font-size:14px;font-weight:600;box-shadow:0 3px 10px rgba(44,72,140,.07);outline:none;transition:border-color .18s,box-shadow .18s,transform .18s}
.eval-answer-select{cursor:pointer;font-weight:700}
.eval-score-input{font-variant-numeric:tabular-nums}
.eval-answer-select:focus,.eval-score-input:focus{border-color:#6875f5;box-shadow:0 0 0 4px rgba(104,117,245,.14);transform:translateY(-1px)}
.eval-save-status{display:inline-flex;align-items:center;gap:5px;min-height:18px;font-size:11px;font-weight:600;color:#13865d;white-space:nowrap}
.eval-save-status.is-saving{color:#4263c7}
.eval-save-status.is-pending{color:#b7791f}
.eval-save-status i{font-size:13px}


/* Responsive tables and centered weight/answer/score cells */
.table-responsive,
.data-table-wrap,
.monitoring-table-wrap,
.upload-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
table {
  max-width: 100%;
}
th, td {
  overflow-wrap: anywhere;
}
th:nth-child(3),
td:nth-child(3) {
  text-align: center;
}
/* Weight, answer, score columns in upload/monitoring tables */
.upload-table th:nth-child(3),
.upload-table td:nth-child(3),
.monitoring-table th:nth-child(3),
.monitoring-table td:nth-child(3),
.sakip-table th:nth-child(3),
.sakip-table td:nth-child(3) {
  text-align: center;
}
.upload-table th:nth-child(4),
.upload-table td:nth-child(4),
.monitoring-table th:nth-child(4),
.monitoring-table td:nth-child(4),
.sakip-table th:nth-child(4),
.sakip-table td:nth-child(4),
.upload-table th:nth-child(5),
.upload-table td:nth-child(5),
.monitoring-table th:nth-child(5),
.monitoring-table td:nth-child(5),
.sakip-table th:nth-child(5),
.sakip-table td:nth-child(5) {
  text-align: center;
}
.upload-table th:nth-child(5),
.upload-table td:nth-child(5),
.monitoring-table th:nth-child(5),
.monitoring-table td:nth-child(5),
.sakip-table th:nth-child(5),
.sakip-table td:nth-child(5) {
  width: 88px;
  min-width: 72px;
  max-width: 100px;
}
.upload-table input[name="score"],
.monitoring-table input[name="score"],
.sakip-table input[name="score"],
.eval-score-input {
  width: 88px;
  max-width: 100%;
  text-align: center;
  box-sizing: border-box;
}
.upload-table select[name="answer"],
.monitoring-table select[name="answer"],
.sakip-table select[name="answer"],
.eval-answer-select {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
@media (max-width: 768px) {
  .table-responsive,
  .data-table-wrap,
  .monitoring-table-wrap,
  .upload-table-wrap {
    overflow-x: auto;
  }
  table {
    min-width: 680px;
  }
  th, td {
    padding: 9px 10px;
  }
  .upload-table th:nth-child(5),
  .upload-table td:nth-child(5),
  .monitoring-table th:nth-child(5),
  .monitoring-table td:nth-child(5),
  .sakip-table th:nth-child(5),
  .sakip-table td:nth-child(5) {
    width: 80px;
    min-width: 72px;
    max-width: 88px;
  }
  .upload-table input[name="score"],
  .monitoring-table input[name="score"],
  .sakip-table input[name="score"],
  .eval-score-input {
    width: 72px;
  }
}

/* Smart SAKIP hierarchy table: align numeric/evaluator fields centrally */
table.upload-hierarchy th:nth-child(3),
table.upload-hierarchy td:nth-child(3),
table.monitoring-sheet th:nth-child(3),
table.monitoring-sheet td:nth-child(3),
table.upload-hierarchy th:nth-child(4),
table.upload-hierarchy td:nth-child(4),
table.monitoring-sheet th:nth-child(4),
table.monitoring-sheet td:nth-child(4),
table.upload-hierarchy th:nth-child(5),
table.upload-hierarchy td:nth-child(5),
table.monitoring-sheet th:nth-child(5),
table.monitoring-sheet td:nth-child(5) {
  text-align: center;
}
table.upload-hierarchy th:nth-child(5),
table.upload-hierarchy td:nth-child(5),
table.monitoring-sheet th:nth-child(5),
table.monitoring-sheet td:nth-child(5) {
  width: 88px;
  min-width: 72px;
  max-width: 100px;
}
.table-responsive.monitoring-table-wrap.upload-hierarchy-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media(max-width:768px) {
  table.upload-hierarchy,
  table.monitoring-sheet { min-width: 680px; }
  table.upload-hierarchy th,
  table.upload-hierarchy td,
  table.monitoring-sheet th,
  table.monitoring-sheet td { padding: 9px 10px; }
}


/* Final alignment and compact score column for Bobot/Jawaban/Nilai */
table.upload-hierarchy th:nth-child(3),
table.upload-hierarchy td:nth-child(3),
table.monitoring-sheet th:nth-child(3),
table.monitoring-sheet td:nth-child(3),
table.upload-hierarchy th:nth-child(4),
table.upload-hierarchy td:nth-child(4),
table.monitoring-sheet th:nth-child(4),
table.monitoring-sheet td:nth-child(4),
table.upload-hierarchy th:nth-child(5),
table.upload-hierarchy td:nth-child(5),
table.monitoring-sheet th:nth-child(5),
table.monitoring-sheet td:nth-child(5) {
  text-align: center !important;
  vertical-align: middle;
}
table.upload-hierarchy th:nth-child(5),
table.upload-hierarchy td:nth-child(5),
table.monitoring-sheet th:nth-child(5),
table.monitoring-sheet td:nth-child(5) {
  width: 76px !important;
  min-width: 68px !important;
  max-width: 84px !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
}
table.upload-hierarchy td:nth-child(5) input,
table.monitoring-sheet td:nth-child(5) input,
table.upload-hierarchy td:nth-child(5) .eval-score-input,
table.monitoring-sheet td:nth-child(5) .eval-score-input {
  display: block;
  width: 64px !important;
  max-width: 100%;
  margin: 0 auto;
  text-align: center !important;
}
table.upload-hierarchy td:nth-child(3) input,
table.monitoring-sheet td:nth-child(3) input,
table.upload-hierarchy td:nth-child(4) select,
table.monitoring-sheet td:nth-child(4) select {
  text-align: center !important;
  margin-left: auto;
  margin-right: auto;
}


/* Better table proportions: narrow score, give evidence/action more room */
table.upload-hierarchy,
table.monitoring-sheet {
  table-layout: fixed;
  width: 100%;
}
table.upload-hierarchy th:nth-child(5),
table.upload-hierarchy td:nth-child(5),
table.monitoring-sheet th:nth-child(5),
table.monitoring-sheet td:nth-child(5) {
  width: 64px !important;
  min-width: 58px !important;
  max-width: 70px !important;
  padding-left: 5px !important;
  padding-right: 5px !important;
}
table.upload-hierarchy th:last-child,
table.upload-hierarchy td:last-child,
table.monitoring-sheet th:last-child,
table.monitoring-sheet td:last-child {
  width: 24% !important;
  min-width: 190px;
}
table.upload-hierarchy td:nth-child(5) input,
table.monitoring-sheet td:nth-child(5) input,
table.upload-hierarchy td:nth-child(5) .eval-score-input,
table.monitoring-sheet td:nth-child(5) .eval-score-input {
  width: 54px !important;
  max-width: 100%;
  margin: 0 auto;
  text-align: center !important;
}
@media (max-width: 768px) {
  table.upload-hierarchy,
  table.monitoring-sheet {
    min-width: 720px;
  }
  table.upload-hierarchy th:last-child,
  table.upload-hierarchy td:last-child,
  table.monitoring-sheet th:last-child,
  table.monitoring-sheet td:last-child {
    min-width: 190px;
  }
}


/* Final proportion for Unit/Satker child columns: wider Jawaban, narrower Nilai */
table.upload-hierarchy th:nth-child(4),
table.upload-hierarchy td:nth-child(4),
table.monitoring-sheet th:nth-child(4),
table.monitoring-sheet td:nth-child(4) {
  width: 112px !important;
  min-width: 100px !important;
  max-width: 125px !important;
  text-align: center !important;
  vertical-align: middle;
}
table.upload-hierarchy th:nth-child(5),
table.upload-hierarchy td:nth-child(5),
table.monitoring-sheet th:nth-child(5),
table.monitoring-sheet td:nth-child(5) {
  width: 66px !important;
  min-width: 58px !important;
  max-width: 72px !important;
  padding-left: 5px !important;
  padding-right: 5px !important;
  text-align: center !important;
  vertical-align: middle;
}
table.upload-hierarchy td:nth-child(4) select,
table.monitoring-sheet td:nth-child(4) select,
table.upload-hierarchy td:nth-child(4) .eval-answer-select,
table.monitoring-sheet td:nth-child(4) .eval-answer-select {
  display: block;
  width: 88px !important;
  max-width: 100%;
  margin: 0 auto;
  text-align: center !important;
}
table.upload-hierarchy td:nth-child(5) input,
table.monitoring-sheet td:nth-child(5) input,
table.upload-hierarchy td:nth-child(5) .eval-score-input,
table.monitoring-sheet td:nth-child(5) .eval-score-input {
  display: block;
  width: 52px !important;
  max-width: 100%;
  margin: 0 auto;
  text-align: center !important;
}
@media (max-width: 768px) {
  table.upload-hierarchy th:nth-child(4),
  table.upload-hierarchy td:nth-child(4),
  table.monitoring-sheet th:nth-child(4),
  table.monitoring-sheet td:nth-child(4) {
    min-width: 100px !important;
  }
  table.upload-hierarchy th:nth-child(5),
  table.upload-hierarchy td:nth-child(5),
  table.monitoring-sheet th:nth-child(5),
  table.monitoring-sheet td:nth-child(5) {
    min-width: 58px !important;
  }
}


/* Score input and autosave feedback: readable, compact, no overlap */
table.upload-hierarchy td:nth-child(5) input,
table.monitoring-sheet td:nth-child(5) input,
table.upload-hierarchy td:nth-child(5) .eval-score-input,
table.monitoring-sheet td:nth-child(5) .eval-score-input {
  width: 84px !important;
  min-width: 76px;
  max-width: 100%;
  min-height: 42px;
  box-sizing: border-box;
  padding: 9px 12px !important;
  margin: 0 auto 6px !important;
  display: block;
  text-align: center !important;
}
table.upload-hierarchy td:nth-child(5),
table.monitoring-sheet td:nth-child(5) {
  overflow-wrap: normal;
  word-break: normal;
  text-align: center !important;
  vertical-align: middle;
}
.score-decimal-hint,
.eval-score-hint,
small.score-hint {
  display: block;
  font-size: 10px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  margin: 5px auto 0 !important;
  max-width: 190px;
  overflow-wrap: normal;
  word-break: normal;
  text-align: center;
}
.autosave-status,
.save-status,
.eval-save-status,
.score-save-status {
  display: block;
  font-size: 11px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  margin: 5px auto 0 !important;
  max-width: 190px;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
  text-align: center;
}
table.upload-hierarchy td:nth-child(5) .text-success,
table.monitoring-sheet td:nth-child(5) .text-success,
table.upload-hierarchy td:nth-child(5) .text-danger,
table.monitoring-sheet td:nth-child(5) .text-danger {
  display: block;
  font-size: 11px !important;
  line-height: 1.35 !important;
  margin: 5px auto 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  text-align: center;
}
@media (max-width: 768px) {
  table.upload-hierarchy td:nth-child(5) input,
  table.monitoring-sheet td:nth-child(5) input,
  table.upload-hierarchy td:nth-child(5) .eval-score-input,
  table.monitoring-sheet td:nth-child(5) .eval-score-input {
    width: 78px !important;
    min-width: 72px;
  }
  .score-decimal-hint,
  .eval-score-hint,
  small.score-hint,
  .autosave-status,
  .save-status,
  .eval-save-status,
  .score-save-status {
    max-width: 150px;
  }
}

/* Login milestone/timeline visuals */
.login-visuals{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.login-visual-card{position:relative;overflow:hidden;border:1px solid #dbe6ff;border-radius:13px;background:#f5f8ff;min-height:90px}
.login-visual-card img{display:block;width:100%;height:100px;object-fit:cover}
.login-visual-card span{display:block;padding:7px 9px;font-size:10px;font-weight:700;color:#314879}
.admin-login-preview{display:block;width:100%;max-width:460px;max-height:220px;object-fit:contain;border:1px solid #dbe3f4;border-radius:12px;margin-top:10px;background:#f7f9ff}
.login-visual-upload{max-width:760px}
.evaluator-note-cell{min-width:160px;max-width:260px;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.5;color:#344568}
.sidebar-toggle{position:fixed;z-index:1200;top:14px;left:14px;width:42px;height:42px;border:1px solid #ffffff35;border-radius:13px;color:#fff;background:linear-gradient(135deg,#5d63ef,#1689a8);box-shadow:0 8px 25px #243f9c35;display:grid;place-items:center;cursor:pointer}
.sidebar-toggle i{font-size:19px}
.sidebar{transform:translateX(-102%);transition:transform .28s ease;z-index:1100}
main{margin-left:0!important;transition:margin .28s ease}
body.sidebar-open .sidebar{transform:translateX(0)}
.sidebar-backdrop{position:fixed;inset:0;background:#0b153a66;backdrop-filter:blur(3px);z-index:1090;display:none}
body.sidebar-open .sidebar-backdrop{display:block}
body.sidebar-open .sidebar-toggle{left:264px}
.content{width:100%;max-width:none}
@media(min-width:801px){body.sidebar-open main{margin-left:250px!important}.content{padding-left:clamp(14px,2vw,30px);padding-right:clamp(14px,2vw,30px)}}
@media(max-width:800px){.sidebar{position:fixed;inset:0 auto 0 0;width:min(280px,86vw);transform:translateX(-102%)}body.sidebar-open .sidebar-toggle{left:min(292px,calc(86vw + 12px))}.login-visuals{grid-template-columns:1fr}}

/* Milestone upload modal and reliable login image display */
.login-visuals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;margin:18px 0 14px}
.login-visual-card{min-width:0;overflow:hidden;border:1px solid rgba(125,151,225,.32);border-radius:14px;background:rgba(248,250,255,.92);box-shadow:0 8px 24px rgba(45,70,140,.10)}
.login-visual-card img{display:block;width:100%;height:clamp(90px,12vw,150px);object-fit:cover;background:#edf3ff}
.login-visual-card span{display:block;padding:8px 10px;color:#314879;font-size:11px;line-height:1.35;font-weight:700;text-align:left}
.milestone-admin-panel{overflow:hidden}
.milestone-admin-panel .panel-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.milestone-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}
.milestone-preview-card{overflow:hidden;border:1px solid #dce5fa;border-radius:18px;background:linear-gradient(145deg,#fff,#f5f8ff);box-shadow:0 12px 32px rgba(36,62,132,.08)}
.milestone-preview-image{height:230px;background:linear-gradient(135deg,#edf3ff,#e5fbff);display:flex;align-items:center;justify-content:center;overflow:hidden}
.milestone-preview-image img{width:100%;height:100%;object-fit:contain}
.milestone-empty{display:flex;flex-direction:column;align-items:center;gap:8px;color:#7484ad;font-size:12px}
.milestone-empty i{font-size:36px;color:#6877ed}
.milestone-preview-caption{display:flex;flex-direction:column;gap:5px;padding:14px 16px}
.milestone-preview-caption strong{font-size:13px;color:#23365f}
.milestone-preview-caption small{font-size:11px;color:#7887a8}
.milestone-modal .modal-content{border:1px solid #dce6ff;border-radius:22px;overflow:hidden;box-shadow:0 28px 90px rgba(20,36,92,.28)}
.milestone-modal .modal-header{padding:22px 24px;background:linear-gradient(120deg,#101d49,#246d9a);color:white;border-bottom:0}
.milestone-modal .modal-header .login-kicker{color:#a9dfff;font-size:9px;letter-spacing:1.8px}
.milestone-modal .modal-header .modal-title{font-weight:800;margin:5px 0}
.milestone-modal .modal-header p{color:#d9e9ff!important}
.milestone-modal .modal-header .btn-close{filter:brightness(0) invert(1)}
.milestone-modal .modal-body{padding:24px}
.visual-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.visual-upload-field{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid #dce5fa;border-radius:16px;background:linear-gradient(145deg,#fff,#f5f8ff)}
.visual-upload-field label{font-size:13px;font-weight:800;color:#263b68}
.visual-upload-field label i{color:#5968ef;margin-right:5px}
.visual-upload-field input[type=file]{width:100%;min-width:0;padding:10px;border:1px dashed #aab9e8;border-radius:12px;background:#fff;font-size:12px}
.visual-upload-field small{font-size:11px;line-height:1.5;color:#7b89a8}
.modal-hint{display:flex;align-items:flex-start;gap:9px;margin-top:16px;padding:12px 14px;border-radius:12px;background:#edf7ff;color:#3d6388;font-size:12px;line-height:1.5}
.modal-hint i{color:#3587bd}
.milestone-modal .modal-footer{padding:16px 24px;border-top:1px solid #e7ecf8;background:#fbfcff}
@media(max-width:700px){.login-visuals,.milestone-preview-grid,.visual-upload-grid{grid-template-columns:1fr}.login-visual-card img{height:120px}.milestone-preview-image{height:180px}.milestone-modal .modal-body{padding:16px}.milestone-modal .modal-header{padding:18px}}

/* Login gallery beside form + clickable full-screen zoom */
.login-layout{position:relative;z-index:2;width:min(1180px,94vw);margin:0 auto;display:grid;grid-template-columns:minmax(330px,430px) minmax(380px,1fr);align-items:center;gap:clamp(24px,4vw,58px);padding:34px 0 64px}
.login-layout .loginbox{width:100%;max-width:430px;justify-self:center}
.login-gallery{width:100%;min-width:0;padding:clamp(16px,2.4vw,30px);border:1px solid rgba(174,197,255,.35);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(239,247,255,.84));box-shadow:0 24px 70px rgba(17,34,85,.18);backdrop-filter:blur(18px)}
.login-gallery-heading small{font-size:9px;letter-spacing:2px;font-weight:800;color:#6174ef}
.login-gallery-heading h2{font-size:clamp(22px,2.6vw,34px);font-weight:850;letter-spacing:-.8px;color:#1b2b55;margin:8px 0}
.login-gallery-heading h2 span{background:linear-gradient(100deg,#6264ed,#1686a8);background-clip:text;-webkit-background-clip:text;color:transparent}
.login-gallery-heading p{font-size:12px;color:#7381a3;margin-bottom:18px}
.login-gallery .login-visuals{display:grid;grid-template-columns:1fr;gap:14px;margin:0}
.login-visual-card{display:block;position:relative;width:100%;padding:0;overflow:hidden;text-align:left;border:1px solid #d7e3fb;border-radius:16px;background:#edf4ff;box-shadow:0 9px 24px rgba(47,72,143,.10);cursor:zoom-in;transition:transform .22s ease,box-shadow .22s ease}
.login-visual-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(47,72,143,.18)}
.login-visual-card img{display:block;width:100%;height:clamp(125px,17vw,205px);object-fit:contain;background:linear-gradient(135deg,#f8fbff,#eaf3ff)}
.login-visual-card span{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;color:#2d416e;font-size:12px;line-height:1.4;font-weight:800;text-align:left}
.login-visual-card span i{font-size:17px;color:#5869eb;flex:none}
.login-visual-empty{min-height:90px;display:flex;align-items:center;justify-content:center;gap:12px;cursor:default;padding:16px;color:#8190b0}
.login-visual-empty>i{font-size:25px;color:#6877ed}
.login-visual-empty:hover{transform:none}
.gallery-hint{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:10px;color:#7282a5}
.gallery-hint i{color:#5b6bec}
.login-image-lightbox{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:5vh 4vw;background:rgba(5,12,34,.88);backdrop-filter:blur(12px);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}
.login-image-lightbox.is-open{opacity:1;visibility:visible}
.lightbox-frame{max-width:94vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:12px}
.lightbox-frame img{display:block;max-width:92vw;max-height:80vh;object-fit:contain;border-radius:12px;box-shadow:0 24px 90px rgba(0,0,0,.45);transform:scale(.97);transition:transform .22s ease}
.login-image-lightbox.is-open .lightbox-frame img{transform:scale(1)}
#loginLightboxCaption{color:#fff;font-size:13px;font-weight:700;text-align:center}
.lightbox-close{position:absolute;top:22px;right:24px;width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffff55;border-radius:14px;background:#ffffff1c;color:#fff;font-size:18px}
.top-brand-title{position:fixed;z-index:1000;top:14px;left:70px;display:flex;flex-direction:column;gap:2px;max-width:min(560px,55vw);pointer-events:none;color:#fff}
.top-brand-title strong{font-size:14px;letter-spacing:1.4px;font-weight:900;line-height:1.2}
.top-brand-title span{font-size:10px;letter-spacing:.25px;color:#d9e8ff;line-height:1.3}
@media(min-width:801px){body.sidebar-open .top-brand-title{left:318px}}
@media(max-width:900px){.login-layout{grid-template-columns:minmax(300px,390px) minmax(280px,1fr);gap:18px}.login-gallery{padding:16px}.login-gallery .login-visuals{gap:10px}.login-visual-card img{height:125px}}
@media(max-width:700px){.login-layout{grid-template-columns:1fr;width:min(480px,92vw);padding:22px 0 75px;gap:20px}.login-layout .loginbox{max-width:480px}.login-gallery{padding:16px;border-radius:18px}.login-gallery .login-visuals{grid-template-columns:1fr}.login-visual-card img{height:150px}.top-brand-title{top:18px;left:66px;max-width:calc(100vw - 125px)}.top-brand-title strong{font-size:11px}.top-brand-title span{font-size:8px}.sidebar-toggle{top:12px;left:12px}}

/* Futuristic Smart SAKIP PA Denpasar header brand */
.top-brand-title{top:9px;left:72px;gap:2px;max-width:min(650px,60vw);padding:5px 12px 6px 14px;border-left:2px solid #4ce5f0;border-radius:0 10px 10px 0;background:linear-gradient(100deg,rgba(11,28,68,.42),rgba(21,95,142,.16),transparent);box-shadow:inset 12px 0 24px rgba(64,220,255,.035)}
.top-brand-title .top-brand-chip{display:flex;align-items:center;gap:5px;font-size:7px;letter-spacing:2px;font-weight:900;color:#7ef4f1;text-transform:uppercase;line-height:1.1}
.top-brand-title .top-brand-chip i{font-size:10px}
.top-brand-title strong{display:flex;align-items:baseline;gap:5px;font-size:15px;letter-spacing:1.15px;font-weight:950;line-height:1.15;text-shadow:0 0 18px rgba(88,207,255,.22)}
.top-brand-title strong em{font-style:normal;background:linear-gradient(100deg,#b8f7ff,#69e6ed,#9ab5ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.top-brand-title strong b{font-size:10px;letter-spacing:1.3px;color:#dbeaff;border-left:1px solid rgba(205,230,255,.4);padding-left:7px;margin-left:3px}
.top-brand-title>span:last-child{font-size:9px;letter-spacing:.32px;color:#d4e7ff;line-height:1.2}
@media(min-width:801px){body.sidebar-open .top-brand-title{left:318px}}
/* Center all document-evidence actions in Upload Data and Monitoring Data */
.upload-hierarchy td.evidence-cell,
.upload-hierarchy td.upload-evidence-actions{vertical-align:middle;text-align:center}
.upload-hierarchy td.upload-evidence-actions{padding:12px 10px}
.upload-evidence-actions .monitor-evidence-action,
.upload-evidence-actions .evidence-actions,
.upload-evidence-actions .evidence-action-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;width:100%;margin-left:auto;margin-right:auto}
.upload-evidence-actions .evidence-link,
.upload-evidence-actions .evidence-missing,
.upload-evidence-actions .btn,
.upload-evidence-actions button{margin-left:auto;margin-right:auto}
.upload-evidence-actions .evidence-link{display:inline-flex;align-items:center;justify-content:center;max-width:100%;text-align:center}
.upload-evidence-actions .evidence-missing{display:inline-flex;align-items:center;justify-content:center}
.upload-evidence-actions .eval-save-status{margin-left:auto;margin-right:auto}
@media(max-width:700px){.top-brand-title{top:8px;left:62px;max-width:calc(100vw - 82px);padding:4px 7px 4px 9px}.top-brand-title strong{font-size:11px;letter-spacing:.6px}.top-brand-title strong b{font-size:8px;letter-spacing:.5px;padding-left:4px}.top-brand-title .top-brand-chip{font-size:6px;letter-spacing:1.3px}.top-brand-title>span:last-child{font-size:7px}.upload-evidence-actions .btn{white-space:normal}}

/* Nilai Jawaban admin scoring configuration */
.answer-value-panel{overflow:hidden;background:radial-gradient(circle at 100% 0,rgba(80,113,245,.10),transparent 38%),linear-gradient(145deg,#fff,#f7f9ff)}
.answer-value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:24px 0}
.answer-value-card{display:flex;align-items:center;gap:12px;min-width:0;padding:15px;border:1px solid #dce5fb;border-radius:16px;background:linear-gradient(145deg,#fff,#f4f7ff);box-shadow:0 8px 24px rgba(39,62,125,.06)}
.answer-code{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:42px;padding:0 10px;border-radius:12px;background:linear-gradient(135deg,#4c58e8,#188ea8);color:#fff;font-size:14px;font-weight:900;letter-spacing:.5px;box-shadow:0 7px 16px rgba(76,88,232,.22)}
.answer-value-card>div{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.answer-value-card small{font-size:10px;color:#7c89a9}
.answer-value-card strong{font-size:20px;line-height:1.1;color:#1e315b;font-variant-numeric:tabular-nums}
.answer-value-card>i{color:#1cb78b;font-size:16px}
.answer-formula-note{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid #cfe8ff;border-radius:15px;background:linear-gradient(100deg,#edf7ff,#f1f4ff);color:#34527e}
.answer-formula-note>i{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:13px;background:#fff;color:#5263eb;font-size:22px;box-shadow:0 4px 14px #3159a51a}
.answer-formula-note div{display:flex;flex-direction:column;gap:4px}
.answer-formula-note strong{font-size:12px}
.answer-formula-note span{font-size:12px;line-height:1.5}
.answer-values-modal .modal-content{border:1px solid #dbe5ff;border-radius:22px;overflow:hidden;box-shadow:0 28px 90px rgba(20,36,92,.28)}
.answer-values-modal .modal-header{padding:22px 24px;background:linear-gradient(120deg,#101d49,#246d9a);color:#fff;border-bottom:0}
.answer-values-modal .modal-header .modal-kicker{font-size:9px;letter-spacing:1.8px;color:#a9dfff}
.answer-values-modal .modal-header .modal-title{font-weight:850;margin:5px 0}
.answer-values-modal .modal-header p{font-size:12px;color:#d9e9ff;margin:0}
.answer-values-modal .modal-header .btn-close{filter:brightness(0) invert(1)}
.answer-value-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.answer-value-input{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #dfe7f8;border-radius:14px;background:linear-gradient(145deg,#fff,#f6f8ff)}
.answer-value-entry{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.answer-value-entry input{width:100%;min-width:0;border:1px solid #d3def3;border-radius:10px;padding:9px 10px;color:#21345c;font-weight:800;outline:none}
.answer-value-entry input:focus{border-color:#6571ed;box-shadow:0 0 0 3px #6571ed20}
.answer-value-entry small{font-size:10px;color:#7d89a7}
.answer-values-modal .modal-footer{padding:16px 24px;border-top:1px solid #e7ecf8;background:#fbfcff}
.eval-score-input[readonly]{background:#eef3ff!important;color:#253e77!important;border:1px solid #cad8fb!important;font-weight:800;cursor:default}
.eval-answer-select{min-width:115px}
@media(max-width:800px){.answer-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.answer-value-grid{grid-template-columns:1fr}.answer-value-form-grid{grid-template-columns:1fr}.answer-values-modal .modal-body{padding:14px}}

/* Final layout tuning: compact Nilai and wider Catatan Evaluator */
table.monitoring-sheet {
  table-layout: fixed;
  width: 100%;
}
table.monitoring-sheet th:nth-child(5),
table.monitoring-sheet td:nth-child(5) {
  width: 54px !important;
  min-width: 48px !important;
  max-width: 58px !important;
  padding-left: 3px !important;
  padding-right: 3px !important;
}
table.monitoring-sheet td:nth-child(5) .eval-score-input {
  width: 44px !important;
  min-width: 0 !important;
  padding-left: 2px !important;
  padding-right: 2px !important;
}
table.monitoring-sheet th:last-child,
table.monitoring-sheet td:last-child {
  width: 30% !important;
  min-width: 260px !important;
  overflow-wrap: anywhere;
}
table.monitoring-sheet td.component-link-count {
  text-align: center !important;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 768px) {
  table.monitoring-sheet th:last-child,
  table.monitoring-sheet td:last-child { min-width: 240px !important; }
}

/* Perapihan akhir input Jawaban dan Nilai subkomponen evaluator */
table.monitoring-sheet th:nth-child(4),
table.monitoring-sheet td:nth-child(4) {
  width: 108px !important;
  min-width: 100px !important;
  max-width: 112px !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
  text-align: center !important;
  vertical-align: middle !important;
}
table.monitoring-sheet th:nth-child(5),
table.monitoring-sheet td:nth-child(5) {
  width: 52px !important;
  min-width: 48px !important;
  max-width: 56px !important;
  padding: 8px 3px !important;
  text-align: center !important;
  vertical-align: middle !important;
}
table.monitoring-sheet td:nth-child(4) .eval-control-wrap,
table.monitoring-sheet td:nth-child(5) .eval-control-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
}
table.monitoring-sheet td:nth-child(4) .eval-answer-select {
  display: block !important;
  box-sizing: border-box !important;
  width: 100px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 40px !important;
  padding: 6px 22px 6px 9px !important;
  margin: 0 auto !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  border-radius: 12px !important;
}
table.monitoring-sheet td:nth-child(5) .eval-score-input {
  display: block !important;
  box-sizing: border-box !important;
  width: 40px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 40px !important;
  padding: 5px 2px !important;
  margin: 0 auto !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  text-align: center !important;
  border-radius: 12px !important;
}
table.monitoring-sheet td:nth-child(4) .eval-save-status,
table.monitoring-sheet td:nth-child(5) .eval-save-status {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
}
@media (max-width: 768px) {
  table.monitoring-sheet th:nth-child(4),
  table.monitoring-sheet td:nth-child(4) { min-width: 100px !important; }
  table.monitoring-sheet th:nth-child(5),
  table.monitoring-sheet td:nth-child(5) { min-width: 48px !important; }
}

/* Final fix: prevent Jawaban/ Nilai values from clipping */
table.monitoring-sheet th:nth-child(4),
table.monitoring-sheet td:nth-child(4) {
  width: 126px !important;
  min-width: 122px !important;
  max-width: 132px !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
}
table.monitoring-sheet th:nth-child(5),
table.monitoring-sheet td:nth-child(5) {
  width: 76px !important;
  min-width: 72px !important;
  max-width: 82px !important;
  padding: 8px 5px !important;
}
table.monitoring-sheet td:nth-child(4) .eval-answer-select {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 6px 24px 6px 10px !important;
  font-size: 13px !important;
  text-overflow: clip !important;
}
table.monitoring-sheet td:nth-child(5) .eval-score-input {
  width: 58px !important;
  min-width: 58px !important;
  max-width: 100% !important;
  padding: 5px 4px !important;
  font-size: 14px !important;
  font-variant-numeric: tabular-nums !important;
}
table.monitoring-sheet td:nth-child(4) .eval-save-status,
table.monitoring-sheet td:nth-child(5) .eval-save-status {
  white-space: normal !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
  font-size: 9px !important;
}


/* Final refinement: center evaluator note button and give numeric score room */
table.monitoring-sheet td.evaluator-note-cell { text-align:center !important; vertical-align:middle !important; }
table.monitoring-sheet td.evaluator-note-cell .evaluator-note-text { text-align:left !important; display:block; width:100%; margin:0 0 8px; overflow-wrap:anywhere; white-space:normal; }
table.monitoring-sheet td.evaluator-note-cell .evaluator-note-divider { border-top:1px dashed #cbd5e1; width:100%; margin:8px 0 10px; }
table.monitoring-sheet td.evaluator-note-cell .evaluator-score-action { display:flex !important; justify-content:center !important; align-items:center !important; width:100%; margin:0 auto !important; }
table.monitoring-sheet td.evaluator-note-cell .evaluator-score-action .btn { margin:0 auto !important; white-space:nowrap; }
table.monitoring-sheet th:nth-child(5), table.monitoring-sheet td:nth-child(5) { width:96px !important; min-width:92px !important; max-width:104px !important; padding:8px 6px !important; text-align:center !important; }
table.monitoring-sheet td:nth-child(5) .eval-score-input { width:76px !important; min-width:76px !important; max-width:100% !important; padding:5px 6px !important; font-size:14px !important; text-align:center !important; box-sizing:border-box !important; }
@media (max-width:768px) { table.monitoring-sheet th:nth-child(5), table.monitoring-sheet td:nth-child(5) { min-width:92px !important; } table.monitoring-sheet td:nth-child(5) .eval-score-input { width:76px !important; min-width:76px !important; } }


/* Final cleanup: one note separator and compact native answer dropdown */
table.monitoring-sheet td.evaluator-note-cell .evaluator-note-text {
  border: 0 !important;
  border-bottom: 0 !important;
  background-image: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
table.monitoring-sheet td.evaluator-note-cell .evaluator-note-divider {
  display: block !important;
  border: 0 !important;
  border-top: 1px dashed #cbd5e1 !important;
  height: 0 !important;
  width: 100% !important;
  margin: 8px 0 10px !important;
  padding: 0 !important;
}
table.monitoring-sheet td:nth-child(4) .eval-control-wrap {
  min-width: 0 !important;
  width: 100% !important;
  overflow: visible !important;
}
table.monitoring-sheet td:nth-child(4) .eval-answer-select {
  display: block !important;
  width: 100px !important;
  min-width: 100px !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  appearance: auto !important;
  -webkit-appearance: menulist !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Final fix: only the explicit note divider should be dashed; remove duplicate action border. */
table.monitoring-sheet td.evaluator-note-cell .evaluator-score-action,
table.monitoring-sheet td.evaluator-note-cell .monitor-evidence-action.evaluator-score-action {
  border-top: 0 !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Smart SAKIP dashboard: larger, responsive, modern card typography */
.dashboard-metrics .metric { padding: clamp(22px, 2.2vw, 36px) !important; min-height: 190px; }
.dashboard-metrics .metric small { display:block; font-size:clamp(14px, 1.05vw, 17px) !important; line-height:1.45; font-weight:700 !important; margin-bottom:12px; }
.dashboard-metrics .metric strong { display:block; font-size:clamp(34px, 2.5vw, 46px) !important; line-height:1.1; font-weight:800 !important; letter-spacing:-.03em; }
.dashboard-metrics .metric em,
.dashboard-metrics .metric span { display:block; font-size:clamp(12px, .95vw, 15px) !important; line-height:1.55; font-weight:600; margin-top:10px; }
@media (max-width:768px) {
 .dashboard-metrics .metric { min-height:150px; padding:22px !important; }
 .dashboard-metrics .metric strong { font-size:34px !important; }
}

/* Monitoring eviden: copy-link action */
.evidence-link-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:5px 0;}
.evidence-link-actions .evidence-link{margin:0;}
.js-copy-evidence{white-space:nowrap;border-radius:9px;font-size:.82rem;font-weight:700;}


/* V47: Proporsi kolom halaman Unggah Data — Nilai ringkas, Dokumen Eviden lebih lebar */
.upload-page-table {
  table-layout: fixed !important;
  width: 100% !important;
  min-width: 1120px;
}
.upload-page-table th:nth-child(5),
.upload-page-table td:nth-child(5) {
  width: 58px !important;
  min-width: 52px !important;
  max-width: 62px !important;
  padding-left: 4px !important;
  padding-right: 4px !important;
}
.upload-page-table td:nth-child(5) input,
.upload-page-table td:nth-child(5) .eval-score-input {
  width: 46px !important;
  min-width: 0 !important;
  padding-left: 2px !important;
  padding-right: 2px !important;
}
.upload-page-table th:nth-child(6),
.upload-page-table td:nth-child(6) {
  width: 29% !important;
  min-width: 300px !important;
}
.upload-page-table th:nth-child(7),
.upload-page-table td:nth-child(7) {
  width: 21% !important;
  min-width: 220px !important;
}
@media (max-width: 768px) {
  .upload-page-table { min-width: 1120px !important; }
  .upload-page-table th:nth-child(6),
  .upload-page-table td:nth-child(6) { min-width: 300px !important; }
}

/* V48: Rapikan proporsi kolom halaman Unggah Data */
table.upload-page-table {
  width: 100% !important;
  min-width: 1050px;
  table-layout: fixed;
}
table.upload-page-table thead th:nth-child(1),
table.upload-page-table tbody td:nth-child(1) { width: 4%; }
table.upload-page-table thead th:nth-child(2),
table.upload-page-table tbody td:nth-child(2) { width: 25%; }
table.upload-page-table thead th:nth-child(3),
table.upload-page-table tbody td:nth-child(3) { width: 9%; }
table.upload-page-table thead th:nth-child(4),
table.upload-page-table tbody td:nth-child(4) { width: 8%; }
table.upload-page-table thead th:nth-child(5),
table.upload-page-table tbody td:nth-child(5) { width: 7%; }
table.upload-page-table thead th:nth-child(6),
table.upload-page-table tbody td:nth-child(6) { width: 22%; }
table.upload-page-table thead th:nth-child(7),
table.upload-page-table tbody td:nth-child(7) { width: 25%; }
table.upload-page-table th,
table.upload-page-table td { box-sizing: border-box; overflow-wrap: anywhere; }
table.upload-page-table td.upload-evidence-actions { padding: 12px 14px !important; }
table.upload-page-table .upload-evidence-actions .evidence-link-actions { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; width:100%; }
table.upload-page-table .upload-evidence-actions .evidence-link,
table.upload-page-table .upload-evidence-actions .btn,
table.upload-page-table .upload-evidence-actions .evidence-missing { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
table.upload-page-table .evaluator-note-cell { min-width:0; max-width:none; }
@media (max-width: 700px) {
  table.upload-page-table { min-width: 1000px; }
}

/* V49: Proporsi kolom halaman Monitoring Data */
.monitoring-panel .monitoring-table-wrap{width:100%;max-width:100%;overflow-x:auto;}
.monitoring-panel table.monitoring-sheet{width:100%!important;min-width:980px!important;table-layout:fixed!important;}
.monitoring-panel table.monitoring-sheet thead th:nth-child(1),
.monitoring-panel table.monitoring-sheet tbody td:nth-child(1){width:6%!important;}
.monitoring-panel table.monitoring-sheet thead th:nth-child(2),
.monitoring-panel table.monitoring-sheet tbody td:nth-child(2){width:27%!important;}
.monitoring-panel table.monitoring-sheet thead th:nth-child(3),
.monitoring-panel table.monitoring-sheet tbody td:nth-child(3){width:8%!important;}
.monitoring-panel table.monitoring-sheet thead tr:first-child th.unit-header{width:20%!important;}
.monitoring-panel table.monitoring-sheet thead tr:nth-child(2) th:nth-child(1),
.monitoring-panel table.monitoring-sheet tbody td:nth-child(4){width:12%!important;}
.monitoring-panel table.monitoring-sheet thead tr:nth-child(2) th:nth-child(2),
.monitoring-panel table.monitoring-sheet tbody td:nth-child(5){width:8%!important;}
.monitoring-panel table.monitoring-sheet thead th:nth-child(6),
.monitoring-panel table.monitoring-sheet tbody td:nth-child(6){width:19%!important;}
.monitoring-panel table.monitoring-sheet thead th:nth-child(7),
.monitoring-panel table.monitoring-sheet tbody td:nth-child(7){width:20%!important;}
.monitoring-panel table.monitoring-sheet .monitor-criterion-row td[colspan="4"]{width:auto!important;}
.monitoring-panel table.monitoring-sheet td.evidence-cell,
.monitoring-panel table.monitoring-sheet td.upload-evidence-actions{overflow-wrap:anywhere;word-break:normal;}
.monitoring-panel table.monitoring-sheet .evidence-link-actions{justify-content:flex-start;}
.monitoring-panel table.monitoring-sheet .evidence-link-actions .evidence-link,
.monitoring-panel table.monitoring-sheet .evidence-link-actions .btn{max-width:100%;white-space:normal;}
.monitoring-panel table.monitoring-sheet td.evaluator-note-cell{overflow-wrap:anywhere;white-space:normal;}
@media(max-width:768px){.monitoring-panel table.monitoring-sheet{min-width:980px!important;}}

/* V50: Samakan proporsi tabel Unggah Data dan Monitoring Data untuk Pelaporan dan Evaluasi Kinerja. */
.monitoring-panel.menu-pelaporan table.upload-page-table,
.monitoring-panel.menu-evaluasi table.upload-page-table {
  width:100%!important; min-width:1050px; table-layout:fixed!important;
}
.monitoring-panel.menu-pelaporan table.upload-page-table th:nth-child(1),
.monitoring-panel.menu-pelaporan table.upload-page-table td:nth-child(1),
.monitoring-panel.menu-evaluasi table.upload-page-table th:nth-child(1),
.monitoring-panel.menu-evaluasi table.upload-page-table td:nth-child(1) { width:4%!important; }
.monitoring-panel.menu-pelaporan table.upload-page-table th:nth-child(2),
.monitoring-panel.menu-pelaporan table.upload-page-table td:nth-child(2),
.monitoring-panel.menu-evaluasi table.upload-page-table th:nth-child(2),
.monitoring-panel.menu-evaluasi table.upload-page-table td:nth-child(2) { width:25%!important; }
.monitoring-panel.menu-pelaporan table.upload-page-table th:nth-child(3),
.monitoring-panel.menu-pelaporan table.upload-page-table td:nth-child(3),
.monitoring-panel.menu-evaluasi table.upload-page-table th:nth-child(3),
.monitoring-panel.menu-evaluasi table.upload-page-table td:nth-child(3) { width:9%!important; }
.monitoring-panel.menu-pelaporan table.upload-page-table th:nth-child(4),
.monitoring-panel.menu-pelaporan table.upload-page-table td:nth-child(4),
.monitoring-panel.menu-evaluasi table.upload-page-table th:nth-child(4),
.monitoring-panel.menu-evaluasi table.upload-page-table td:nth-child(4) { width:8%!important; }
.monitoring-panel.menu-pelaporan table.upload-page-table th:nth-child(5),
.monitoring-panel.menu-pelaporan table.upload-page-table td:nth-child(5),
.monitoring-panel.menu-evaluasi table.upload-page-table th:nth-child(5),
.monitoring-panel.menu-evaluasi table.upload-page-table td:nth-child(5) { width:7%!important; }
.monitoring-panel.menu-pelaporan table.upload-page-table th:nth-child(6),
.monitoring-panel.menu-pelaporan table.upload-page-table td:nth-child(6),
.monitoring-panel.menu-evaluasi table.upload-page-table th:nth-child(6),
.monitoring-panel.menu-evaluasi table.upload-page-table td:nth-child(6) { width:22%!important; }
.monitoring-panel.menu-pelaporan table.upload-page-table th:nth-child(7),
.monitoring-panel.menu-pelaporan table.upload-page-table td:nth-child(7),
.monitoring-panel.menu-evaluasi table.upload-page-table th:nth-child(7),
.monitoring-panel.menu-evaluasi table.upload-page-table td:nth-child(7) { width:25%!important; }
.monitoring-panel.menu-pelaporan table.monitoring-sheet,
.monitoring-panel.menu-evaluasi table.monitoring-sheet { width:100%!important; min-width:980px!important; table-layout:fixed!important; }
.monitoring-panel.menu-pelaporan table.monitoring-sheet th:nth-child(1),
.monitoring-panel.menu-pelaporan table.monitoring-sheet td:nth-child(1),
.monitoring-panel.menu-evaluasi table.monitoring-sheet th:nth-child(1),
.monitoring-panel.menu-evaluasi table.monitoring-sheet td:nth-child(1) { width:6%!important; }
.monitoring-panel.menu-pelaporan table.monitoring-sheet th:nth-child(2),
.monitoring-panel.menu-pelaporan table.monitoring-sheet td:nth-child(2),
.monitoring-panel.menu-evaluasi table.monitoring-sheet th:nth-child(2),
.monitoring-panel.menu-evaluasi table.monitoring-sheet td:nth-child(2) { width:27%!important; }
.monitoring-panel.menu-pelaporan table.monitoring-sheet th:nth-child(3),
.monitoring-panel.menu-pelaporan table.monitoring-sheet td:nth-child(3),
.monitoring-panel.menu-evaluasi table.monitoring-sheet th:nth-child(3),
.monitoring-panel.menu-evaluasi table.monitoring-sheet td:nth-child(3) { width:8%!important; }
.monitoring-panel.menu-pelaporan table.monitoring-sheet th:nth-child(6),
.monitoring-panel.menu-pelaporan table.monitoring-sheet td:nth-child(6),
.monitoring-panel.menu-evaluasi table.monitoring-sheet th:nth-child(6),
.monitoring-panel.menu-evaluasi table.monitoring-sheet td:nth-child(6) { width:19%!important; }
.monitoring-panel.menu-pelaporan table.monitoring-sheet th:nth-child(7),
.monitoring-panel.menu-pelaporan table.monitoring-sheet td:nth-child(7),
.monitoring-panel.menu-evaluasi table.monitoring-sheet th:nth-child(7),
.monitoring-panel.menu-evaluasi table.monitoring-sheet td:nth-child(7) { width:20%!important; }
@media(max-width:768px){.monitoring-panel.menu-pelaporan table.monitoring-sheet,.monitoring-panel.menu-evaluasi table.monitoring-sheet{min-width:980px!important;}}

/* V53: keep Subkomponen action buttons visible on short screens */
#subcomponentModal .modal-dialog{height:calc(100vh - 2rem);max-height:calc(100vh - 2rem);}
#subcomponentModal .modal-content{display:flex;flex-direction:column;max-height:calc(100vh - 2rem);min-height:0;}
#subcomponentModal form{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden;}
#subcomponentModal form .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;}
#subcomponentModal form .modal-footer{flex:0 0 auto;display:flex;justify-content:flex-end;gap:10px;position:relative;z-index:5;background:#f8faff;border-top:1px solid #e8edf8;padding:14px 24px;}
@media(max-width:600px){#subcomponentModal .modal-dialog{height:calc(100vh - 1rem);max-height:calc(100vh - 1rem);margin:.5rem;}#subcomponentModal .modal-content{max-height:calc(100vh - 1rem);}#subcomponentModal form .modal-footer{padding:12px 16px;}}

/* V57: proporsi kolom Unggah Data Pelaporan dan Evaluasi Kinerja */
.monitoring-panel.menu-pelaporan table.upload-page-table,
.monitoring-panel.menu-evaluasi table.upload-page-table {
  width:100%!important; min-width:1180px!important; table-layout:fixed!important;
}
.monitoring-panel.menu-pelaporan table.upload-page-table th:nth-child(1),
.monitoring-panel.menu-pelaporan table.upload-page-table td:nth-child(1),
.monitoring-panel.menu-evaluasi table.upload-page-table th:nth-child(1),
.monitoring-panel.menu-evaluasi table.upload-page-table td:nth-child(1) {width:5%!important;}
.monitoring-panel.menu-pelaporan table.upload-page-table th:nth-child(2),
.monitoring-panel.menu-pelaporan table.upload-page-table td:nth-child(2),
.monitoring-panel.menu-evaluasi table.upload-page-table th:nth-child(2),
.monitoring-panel.menu-evaluasi table.upload-page-table td:nth-child(2) {width:29%!important;}
.monitoring-panel.menu-pelaporan table.upload-page-table th:nth-child(3),
.monitoring-panel.menu-pelaporan table.upload-page-table td:nth-child(3),
.monitoring-panel.menu-evaluasi table.upload-page-table th:nth-child(3),
.monitoring-panel.menu-evaluasi table.upload-page-table td:nth-child(3) {width:7%!important;}
.monitoring-panel.menu-pelaporan table.upload-page-table th:nth-child(4),
.monitoring-panel.menu-pelaporan table.upload-page-table td:nth-child(4),
.monitoring-panel.menu-evaluasi table.upload-page-table th:nth-child(4),
.monitoring-panel.menu-evaluasi table.upload-page-table td:nth-child(4) {width:10%!important;}
.monitoring-panel.menu-pelaporan table.upload-page-table th:nth-child(5),
.monitoring-panel.menu-pelaporan table.upload-page-table td:nth-child(5),
.monitoring-panel.menu-evaluasi table.upload-page-table th:nth-child(5),
.monitoring-panel.menu-evaluasi table.upload-page-table td:nth-child(5) {width:9%!important;}
.monitoring-panel.menu-pelaporan table.upload-page-table th:nth-child(6),
.monitoring-panel.menu-pelaporan table.upload-page-table td:nth-child(6),
.monitoring-panel.menu-evaluasi table.upload-page-table th:nth-child(6),
.monitoring-panel.menu-evaluasi table.upload-page-table td:nth-child(6) {width:20%!important;}
.monitoring-panel.menu-pelaporan table.upload-page-table th:nth-child(7),
.monitoring-panel.menu-pelaporan table.upload-page-table td:nth-child(7),
.monitoring-panel.menu-evaluasi table.upload-page-table th:nth-child(7),
.monitoring-panel.menu-evaluasi table.upload-page-table td:nth-child(7) {width:20%!important;}
.monitoring-panel.menu-pelaporan table.upload-page-table .upload-evidence-actions,
.monitoring-panel.menu-evaluasi table.upload-page-table .upload-evidence-actions {padding:12px 16px!important; overflow-wrap:anywhere;}
.monitoring-panel.menu-pelaporan table.upload-page-table .upload-evidence-actions .evidence-missing,
.monitoring-panel.menu-evaluasi table.upload-page-table .upload-evidence-actions .evidence-missing {white-space:normal;max-width:100%;}
.monitoring-panel.menu-pelaporan table.upload-page-table .upload-action-line,
.monitoring-panel.menu-evaluasi table.upload-page-table .upload-action-line {display:flex;flex-direction:column;align-items:center;gap:8px;}
.monitoring-panel.menu-pelaporan table.upload-page-table .evaluator-note-cell,
.monitoring-panel.menu-evaluasi table.upload-page-table .evaluator-note-cell {overflow-wrap:anywhere;white-space:normal;}
.monitoring-panel.menu-pelaporan table.upload-page-table .criterion-title,
.monitoring-panel.menu-evaluasi table.upload-page-table .criterion-title {overflow-wrap:anywhere;}
@media(max-width:768px){
 .monitoring-panel.menu-pelaporan table.upload-page-table,
 .monitoring-panel.menu-evaluasi table.upload-page-table {min-width:1180px!important;}
}


/* V58: Konsistensi proporsi kolom Unggah Data dan Monitoring Data pada semua menu */
.monitoring-panel .upload-hierarchy-wrap { width:100%; max-width:100%; overflow-x:auto; }
.monitoring-panel table.upload-hierarchy,
.monitoring-panel table.monitoring-sheet.upload-hierarchy {
  width:100% !important;
  min-width:1120px !important;
  table-layout:fixed !important;
}
.monitoring-panel table.upload-hierarchy th,
.monitoring-panel table.upload-hierarchy td {
  box-sizing:border-box;
  overflow-wrap:anywhere;
  vertical-align:middle;
}
/* No. */
.monitoring-panel table.upload-hierarchy th:nth-child(1),
.monitoring-panel table.upload-hierarchy td:nth-child(1) {
  width:68px !important; min-width:68px !important; max-width:68px !important;
  text-align:center !important; padding-left:6px !important; padding-right:6px !important;
}
/* Komponen / kriteria */
.monitoring-panel table.upload-hierarchy th:nth-child(2),
.monitoring-panel table.upload-hierarchy td:nth-child(2) {
  width:30% !important; min-width:260px !important;
}
/* Bobot */
.monitoring-panel table.upload-hierarchy th:nth-child(3),
.monitoring-panel table.upload-hierarchy td:nth-child(3) {
  width:78px !important; min-width:78px !important; max-width:78px !important;
  text-align:center !important; padding-left:6px !important; padding-right:6px !important;
}
/* Jawaban */
.monitoring-panel table.upload-hierarchy th:nth-child(4),
.monitoring-panel table.upload-hierarchy td:nth-child(4) {
  width:128px !important; min-width:118px !important; max-width:140px !important;
  text-align:center !important; padding-left:7px !important; padding-right:7px !important;
}
/* Nilai: compact */
.monitoring-panel table.upload-hierarchy th:nth-child(5),
.monitoring-panel table.upload-hierarchy td:nth-child(5) {
  width:62px !important; min-width:56px !important; max-width:66px !important;
  text-align:center !important; padding-left:4px !important; padding-right:4px !important;
}
.monitoring-panel table.upload-hierarchy td:nth-child(5) input,
.monitoring-panel table.upload-hierarchy td:nth-child(5) .eval-score-input {
  width:48px !important; min-width:0 !important; max-width:100% !important;
  box-sizing:border-box; text-align:center;
}
/* Evidence and evaluator notes get the remaining readable space */
.monitoring-panel table.upload-hierarchy th:nth-child(6),
.monitoring-panel table.upload-hierarchy td:nth-child(6) {
  width:220px !important; min-width:220px !important;
}
.monitoring-panel table.upload-hierarchy th:nth-child(7),
.monitoring-panel table.upload-hierarchy td:nth-child(7) {
  width:24% !important; min-width:240px !important;
}
.monitoring-panel table.upload-hierarchy th:nth-child(8),
.monitoring-panel table.upload-hierarchy td:nth-child(8) {
  width:100px !important; min-width:100px !important; max-width:120px !important;
  text-align:center !important;
}
.monitoring-panel table.upload-hierarchy td.upload-evidence-actions .evidence-link-actions,
.monitoring-panel table.upload-hierarchy td:nth-child(6) .evidence-link-actions {
  display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:center; gap:7px; width:100%;
}
.monitoring-panel table.upload-hierarchy td:nth-child(6) .btn,
.monitoring-panel table.upload-hierarchy td:nth-child(6) .evidence-link,
.monitoring-panel table.upload-hierarchy td:nth-child(6) .evidence-missing {
  max-width:100%; white-space:normal; overflow-wrap:anywhere;
}
@media(max-width:768px) {
  .monitoring-panel table.upload-hierarchy { min-width:1120px !important; }
  .monitoring-panel table.upload-hierarchy th,
  .monitoring-panel table.upload-hierarchy td { padding:9px 10px !important; }
}


/* V65: Monitoring Data evaluator — cegah angka Nilai terpotong dan rapikan proporsi */
.monitoring-panel table.monitoring-sheet.upload-hierarchy,
.monitoring-panel table.upload-hierarchy {
  table-layout: fixed !important;
  min-width: 1240px !important;
}
/* Nilai (kolom ke-5): cukup lebar untuk nilai desimal seperti 6,0 */
.monitoring-panel table.upload-hierarchy th:nth-child(5),
.monitoring-panel table.upload-hierarchy td:nth-child(5) {
  width: 92px !important;
  min-width: 92px !important;
  max-width: 92px !important;
  padding-left: 7px !important;
  padding-right: 7px !important;
  text-align: center !important;
  overflow: visible !important;
}
.monitoring-panel table.upload-hierarchy td:nth-child(5) input,
.monitoring-panel table.upload-hierarchy td:nth-child(5) .eval-score-input,
.monitoring-panel table.upload-hierarchy td:nth-child(5) .score-value,
.monitoring-panel table.upload-hierarchy td:nth-child(5) .score-chip {
  width: 72px !important;
  min-width: 72px !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
  text-align: center !important;
  font-variant-numeric: tabular-nums;
  white-space: nowrap !important;
  overflow: visible !important;
}
.monitoring-panel table.upload-hierarchy td:nth-child(5) {
  white-space: nowrap !important;
}
/* Jaga ruang komponen, eviden, dan catatan tetap seimbang */
.monitoring-panel table.upload-hierarchy th:nth-child(2),
.monitoring-panel table.upload-hierarchy td:nth-child(2) { width: 28% !important; min-width: 250px !important; }
.monitoring-panel table.upload-hierarchy th:nth-child(6),
.monitoring-panel table.upload-hierarchy td:nth-child(6) { width: 230px !important; min-width: 230px !important; }
.monitoring-panel table.upload-hierarchy th:nth-child(7),
.monitoring-panel table.upload-hierarchy td:nth-child(7) { width: 24% !important; min-width: 230px !important; }
@media (max-width: 768px) {
  .monitoring-panel table.upload-hierarchy { min-width: 1240px !important; }
}


/* V66: pastikan seluruh header tabel, termasuk kolom Nilai pada baris header kedua, berwarna saat preview/cetak. */
@media print {
  .monitoring-sheet thead th,
  .monitoring-sheet thead tr:nth-child(2) th,
  .monitoring-sheet thead tr:nth-child(2) th:nth-child(2) {
    background: #344b96 !important;
    background-color: #344b96 !important;
    background-image: linear-gradient(105deg, #1c2855 0%, #3c4f9f 48%, #087e9a 100%) !important;
    color: #ffffff !important;
    border: 1px solid #5064a7 !important;
    print-color-adjust: exact !important;
    -webkit-print-color-adjust: exact !important;
    color-adjust: exact !important;
  }
}

/* V67: kolom Catatan Evaluator harus ikut tercetak pada Monitoring Data.
   Kolom Aksi hanya disembunyikan pada tabel Unggah Data yang memang memilikinya. */
@media print {
  .monitoring-sheet .evaluator-note-cell,
  .monitoring-sheet .evaluator-note-text,
  .monitoring-sheet th:last-child:not(.action-column) {
    display: table-cell !important;
    visibility: visible !important;
  }
  .monitoring-sheet .evaluator-note-cell {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    color: #111 !important;
  }
  .monitoring-sheet .evaluator-note-divider,
  .monitoring-sheet .evaluator-score-action { display: none !important; }
}

/* V68: pertegas seluruh garis tabel pada preview dan hasil cetak. */
@media print {
  .monitoring-table-wrap,
  .monitoring-sheet {
    border: 1.5px solid #333 !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
  }
  .monitoring-sheet thead th,
  .monitoring-sheet tbody td,
  .monitoring-sheet tfoot td,
  .monitoring-sheet tr th,
  .monitoring-sheet tr td {
    border: 1px solid #444 !important;
    box-shadow: none !important;
  }
  .monitoring-sheet .monitor-component-row td,
  .monitoring-sheet .monitor-subcomponent-row td,
  .monitoring-sheet .monitor-criteria-label td {
    border: 1px solid #444 !important;
  }
  .monitoring-sheet th,
  .monitoring-sheet td {
    print-color-adjust: exact !important;
    -webkit-print-color-adjust: exact !important;
  }
}
