:root{--son-green:#087443;--son-dark:#045a34;--son-gold:#d7a62a;--ink:#14221b;--muted:#64746c;--bg:#f4f7f5;--line:#dfe7e2}*{box-sizing:border-box}body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink);min-height:100vh}.son-nav{background:linear-gradient(100deg,var(--son-dark),var(--son-green));box-shadow:0 4px 18px #04351b22}.brand-mark{display:inline-flex;align-items:center;justify-content:center;border:2px solid #fff;border-radius:50%;height:34px;width:34px;font-size:11px;margin-right:8px}.user-chip{color:#fff;font-size:.88rem}.app-footer{margin-top:48px;padding:18px 24px;background:#092c1d;color:#cfe0d6;display:flex;justify-content:space-between;gap:20px;font-size:.78rem}.auth-page{min-height:100vh;background:radial-gradient(circle at 20% 20%,#e1f2e8,transparent 35%),linear-gradient(135deg,#f7fbf8,#eaf3ee);display:flex;align-items:center}.auth-shell{max-width:1080px;margin:auto}.auth-card,.panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 36px #0b422018}.auth-brand{background:linear-gradient(145deg,var(--son-dark),var(--son-green));color:#fff;border-radius:18px 0 0 18px;min-height:520px}.auth-form{padding:42px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--son-green);font-size:.72rem}.page-wrap{padding:30px 0 10px}.page-title{font-weight:800;letter-spacing:-.02em}.kpi{padding:22px;border-radius:16px;background:#fff;border:1px solid var(--line);height:100%}.kpi-icon{height:44px;width:44px;border-radius:12px;background:#e7f5ed;color:var(--son-green);display:grid;place-items:center;font-size:20px}.kpi-value{font-size:1.8rem;font-weight:800}.form-section{border:1px solid var(--line);border-radius:16px;background:#fff;margin-bottom:18px;overflow:hidden}.form-section-head{padding:16px 20px;background:#f7faf8;border-bottom:1px solid var(--line);font-weight:800}.form-section-body{padding:22px}.required:after{content:' *';color:#c62828}.stepper{display:flex;gap:8px;overflow:auto;margin-bottom:20px}.step{flex:1;min-width:150px;padding:13px 15px;border:1px solid var(--line);background:#fff;border-radius:12px;font-size:.82rem;font-weight:700;color:#718078}.step.active{border-color:var(--son-green);background:#eaf7ef;color:var(--son-green)}.step.done{background:#f2f7f4;color:var(--son-dark)}.technical-block{display:none}.technical-block.active{display:block}.upload-box{border:1.5px dashed #b8c9c0;border-radius:13px;padding:16px;background:#fafcfb}.star-options .btn-check:checked+.btn{background:var(--son-green);border-color:var(--son-green);color:#fff}.review-box{background:#f8fbf9;border-left:4px solid var(--son-gold);padding:15px;border-radius:8px}.table-clean th{font-size:.73rem;text-transform:uppercase;letter-spacing:.06em;color:#718078;background:#f7faf8}.badge-soft{background:#e8f4ed;color:var(--son-green)}@media(max-width:767px){.auth-brand{display:none}.auth-form{padding:28px}.app-footer{flex-direction:column}.form-section-body{padding:16px}}
.detail-item{border:1px solid var(--line);border-radius:12px;padding:13px 15px;background:#fbfdfc;height:100%}.detail-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#748078;margin-bottom:5px;font-weight:700}.detail-value{font-weight:600;color:#203129;word-break:break-word}.feedback-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fbfdfc}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:27px;top:20px;bottom:20px;width:2px;background:#dfe9e3}.timeline-item{position:relative;display:flex;gap:18px;padding-bottom:24px}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:relative;z-index:2;width:12px;height:12px;min-width:12px;margin:4px 0 0 21px;border-radius:50%;background:var(--son-green);box-shadow:0 0 0 5px #e8f5ed}.dataTables_wrapper .dt-search input{border:1px solid #ccd9d2;border-radius:9px;padding:.45rem .65rem}.dataTables_wrapper .dt-length select{border:1px solid #ccd9d2;border-radius:8px;padding:.35rem 1.6rem .35rem .5rem}.dataTables_wrapper .dt-paging .pagination{margin-top:12px}.dataTables_wrapper .dt-paging .page-link{color:var(--son-green)}
