:root{
  --orange:#E8800A;--orange-dark:#C46A00;--orange-light:#FFF3E0;--orange-mid:#FFA726;
  --white:#FFFFFF;--bg:#F8F6F2;--surface:#FFFFFF;--surface2:#FFF8F0;
  --border:#E8E0D4;--border2:#D4C8B8;
  --text:#1A1714;--text2:#5A524A;--text3:#9A8E84;
  --green:#1B6B3A;--green-light:#E8F5EE;
  --red:#B91C1C;--red-light:#FEF2F2;
  --yellow:#92400E;--yellow-light:#FFFBEB;
  --blue:#1E40AF;--blue-light:#EFF6FF;
  --radius:10px;--radius-lg:14px;
  --shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:13px;line-height:1.5}
.app{display:flex;min-height:100vh}
.sidebar{width:220px;background:var(--white);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:200}
.main{margin-left:220px;flex:1;display:flex;flex-direction:column;min-height:100vh}
.topbar{background:var(--white);border-bottom:1px solid var(--border);padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}
.content{padding:24px;flex:1}
.sidebar-logo{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}
.logo-mark{width:32px;height:32px;background:var(--orange);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;flex-shrink:0}
.logo-text{font-weight:700;font-size:15px;color:var(--text)}
.logo-sub{font-size:10px;color:var(--text3);font-weight:400}
.nav-section{padding:16px 12px 8px;font-size:10px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:1px}
.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;margin:1px 8px;border-radius:8px;cursor:pointer;color:var(--text2);font-size:13px;font-weight:500;transition:all .15s}
.nav-item:hover{background:var(--orange-light);color:var(--orange-dark)}
.nav-item.active{background:var(--orange);color:#fff}
.nav-item svg{width:16px;height:16px;flex-shrink:0}
.nav-badge{margin-left:auto;background:var(--orange);color:#fff;font-size:10px;font-weight:700;padding:1px 7px;border-radius:10px}
.nav-item.active .nav-badge{background:rgba(255,255,255,.3)}
.page-title{font-size:16px;font-weight:700;color:var(--text)}
.page-sub{font-size:12px;color:var(--text3);margin-top:1px}
.user-chip{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--orange-light);border-radius:20px;cursor:pointer}
.user-role{font-size:11px;font-weight:600;color:var(--orange-dark)}
.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:16px}
.card-header{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.card-title{font-size:13px;font-weight:700;color:var(--text)}
.card-sub{font-size:11px;color:var(--text3);margin-top:1px}
.card-body{padding:18px}
.section-hdr{background:var(--orange);color:#fff;padding:10px 16px;font-size:12px;font-weight:700;display:flex;justify-content:space-between;align-items:center}
.score-table{width:100%;border-collapse:collapse}
.score-table th{background:var(--bg);font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;text-align:left;border-bottom:1px solid var(--border)}
.score-table td{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:middle}
.score-table tr:last-child td{border-bottom:none}
.score-table tr:hover td{background:var(--surface2)}
.score-table .subtotal td{background:var(--orange-light);font-weight:700;color:var(--orange-dark)}
.no-col{color:var(--text3);width:36px}
.max-col{color:var(--text3);width:60px}
.score-col{font-weight:700;width:60px}
.score-table th.center,.score-table td.center{text-align:center}
select.score-sel{width:100%;padding:6px 10px;border:1px solid var(--border2);border-radius:7px;font-family:inherit;font-size:12px;color:var(--text);background:#fff;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%239A8E84' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:24px;min-width:160px}
select.score-sel:focus{outline:2px solid var(--orange);outline-offset:2px;border-color:var(--orange)}
input[type=text],input[type=date],input[type=number],select.form-sel,textarea{width:100%;padding:8px 11px;border:1px solid var(--border2);border-radius:8px;font-family:inherit;font-size:13px;color:var(--text);background:#fff;outline:none;transition:border .15s}
input:focus,select.form-sel:focus,textarea:focus{outline:2px solid var(--orange);outline-offset:2px;border-color:var(--orange)}
select.form-sel{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%239A8E84' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px;cursor:pointer}
textarea{resize:vertical;min-height:72px}
label.field-label{font-size:11px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:4px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-group{display:flex;flex-direction:column}
.full{grid-column:1/-1}
.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:8px;border:none;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}
.btn-primary{background:var(--orange);color:#fff}
.btn-primary:hover{background:var(--orange-dark)}
.btn-secondary{background:var(--white);color:var(--text);border:1px solid var(--border2)}
.btn-secondary:hover{background:var(--bg)}
.btn-danger{background:var(--red-light);color:var(--red);border:1px solid #FECACA}
.btn-sm{padding:6px 12px;font-size:12px}
.btn-xs{padding:4px 9px;font-size:11px;border-radius:6px}
.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600}
.badge-approved{background:var(--green-light);color:var(--green)}
.badge-review{background:var(--yellow-light);color:var(--yellow)}
.badge-rejected{background:var(--red-light);color:var(--red)}
.badge-pending{background:var(--bg);color:var(--text3);border:1px solid var(--border)}
.badge-orange{background:var(--orange-light);color:var(--orange-dark)}
.badge-draft{background:#F1F5F9;color:#475569}
.list-table{width:100%;border-collapse:collapse}
.list-table th{background:var(--bg);font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}
.list-table td{padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:middle;font-size:12px}
.list-table tr:last-child td{border-bottom:none}
.list-table tr:hover td{background:var(--surface2);cursor:pointer}
.tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:20px}
.tab{padding:10px 20px;cursor:pointer;font-size:13px;font-weight:600;color:var(--text3);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}
.tab.active{color:var(--orange);border-bottom-color:var(--orange)}
.tab:hover:not(.active){color:var(--text2)}
.calc-section{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}
.calc-hdr{background:var(--orange);color:#fff;padding:8px 14px;font-size:12px;font-weight:700}
.calc-row{display:grid;grid-template-columns:220px 1fr 1fr;gap:0;border-bottom:1px solid var(--border)}
.calc-row:last-child{border-bottom:none}
.calc-cell{padding:9px 14px;font-size:12px;border-right:1px solid var(--border)}
.calc-cell:last-child{border-right:none}
.calc-cell.label{color:var(--text2);font-weight:500}
.calc-cell.value{font-weight:700;color:var(--text)}
.calc-cell.note{color:var(--text3);font-size:11px}
.calc-cell.highlight{background:var(--orange-light);font-weight:700;color:var(--orange-dark)}
.calc-cell.red-bg{background:var(--red-light);color:var(--red);font-weight:700}
.calc-cell.green-bg{background:var(--green-light);color:var(--green);font-weight:700}
.stepper{display:flex;align-items:center;gap:0;margin-bottom:20px}
.step{display:flex;align-items:center;gap:8px;flex:1}
.step-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;border:2px solid var(--border)}
.step-circle.done{background:var(--green);border-color:var(--green);color:#fff}
.step-circle.active{background:var(--orange);border-color:var(--orange);color:#fff}
.step-circle.pending{background:var(--white);border-color:var(--border);color:var(--text3)}
.step-line{flex:1;height:2px;background:var(--border);margin:0 4px}
.step-line.done{background:var(--green)}
.step-label{font-size:11px;font-weight:600;color:var(--text2)}
.step-sub{font-size:10px;color:var(--text3)}
.empty-state{text-align:center;padding:48px 24px;color:var(--text3)}
.flex{display:flex;align-items:center;gap:8px}
.flex-between{display:flex;align-items:center;justify-content:space-between}
.mt{margin-top:16px}
.page{display:none}
.page.active{display:block}
.scroll-x{overflow-x:auto}
.toast{position:fixed;top:16px;right:16px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:9999;display:none;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.toast.success{display:block;background:var(--green-light);color:var(--green);border:1px solid #A7F3D0}
.toast.error{display:block;background:var(--red-light);color:var(--red);border:1px solid #FECACA}
.score-hero{text-align:center;padding:20px}
.score-num{font-size:64px;font-weight:700;line-height:1}
.score-num.strong{color:var(--green)}
.score-num.good{color:#059669}
.score-num.notrecom{color:var(--yellow)}
.score-num.weak{color:#D97706}
.score-num.rejected{color:var(--red)}
.score-num.pending{color:var(--text3)}
.master-param{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}
.master-param:last-child{border-bottom:none}