

*{margin:0;padding:0;box-sizing:border-box;}
:root{--font-main:'IBM Plex Sans',sans-serif;--font-mono:'JetBrains Mono',monospace;--black:#000;--white:#fff;--gray-50:#fafafa;--gray-100:#f5f5f5;--gray-200:#eee;--gray-300:#ddd;--gray-400:#bbb;--gray-500:#888;--gray-600:#666;--gray-700:#444;--gray-800:#222;--green:#1b8a2a;--amber:#c77d00;--red:#c62828;--sidebar-w:240px;--topbar-h:50px;}
body{font-family:var(--font-main);font-size:13px;color:var(--gray-800);background:var(--gray-100);line-height:1.5;}
a{color:var(--black);text-decoration:none;}
a:hover{text-decoration:none;}
/* Only underline links inside content areas */
.page-body p a:hover,.page-body li a:hover,.page-body td a:hover,.doc-view a:hover,.re-editor a:hover{text-decoration:underline;}
/* Button overrides */
a.btn,a.btn:hover,a.btn:visited,a.btn:active,a.btn:link{text-decoration:none !important;}
a.btn-primary,a.btn-primary:hover,a.btn-primary:visited,a.btn-primary:active,a.btn-primary:link{color:var(--white) !important;text-decoration:none !important;}
a.btn-secondary,a.btn-secondary:hover,a.btn-secondary:visited,a.btn-secondary:active,a.btn-secondary:link{color:var(--black) !important;text-decoration:none !important;}
a.btn-danger,a.btn-danger:hover,a.btn-danger:visited,a.btn-danger:active,a.btn-danger:link{color:var(--white) !important;text-decoration:none !important;}
a.btn-success,a.btn-success:hover,a.btn-success:visited,a.btn-success:active,a.btn-success:link{color:var(--white) !important;text-decoration:none !important;}
/* Never underline nav, sidebar, breadcrumb, topbar, cards, badges */
.sidebar a:hover,.breadcrumb a:hover,.topbar a:hover,.user-dropdown a:hover,
.zone-subnav a:hover,.zone-parent:hover,.nav-group-items a:hover,
.cv-header a:hover,.cv-sidebar-body a:hover,.cv-tab:hover,.cv-kv a:hover,
.card-header a:hover,.act-btn:hover,.re-ribbon a:hover,.re-top-bar a:hover,
.table-wrap a:hover,.rw-wf-item:hover a,.rw-tc-chip a:hover,
.status-step a:hover,.ob-tbl a:hover,.req-banner a:hover,
.fpill:hover,.notif-btn:hover{text-decoration:none !important;}

/* Layout */
.app-wrapper{display:flex;min-height:100vh;}
.sidebar{width:var(--sidebar-w);background:var(--white);border-right:1px solid var(--gray-300);position:fixed;top:0;left:0;bottom:0;z-index:100;display:flex;flex-direction:column;transition:transform .2s;}
.sidebar .logo{padding:12px 16px;font-size:15px;font-weight:700;border-bottom:1px solid var(--gray-200);letter-spacing:-.3px;}
.sidebar .logo span{color:var(--gray-500);font-weight:400;font-size:11px;display:block;}
.sidebar nav{flex:1;overflow-y:auto;padding:8px 0;}
.sidebar nav a{display:flex;align-items:center;gap:10px;padding:9px 18px;font-size:13px;color:var(--gray-700);transition:background .15s;}
.sidebar nav a:hover{background:var(--gray-100);text-decoration:none;}
.sidebar nav a.active{background:var(--gray-200);color:var(--black);font-weight:600;}
.sidebar nav a svg{width:16px;height:16px;flex-shrink:0;}
.sidebar .nav-section{padding:14px 18px 4px;font-size:10px;text-transform:uppercase;font-weight:700;color:var(--gray-500);letter-spacing:.8px;}
.sidebar nav a .badge-count{margin-left:auto;background:var(--red);color:#fff;font-size:10px;padding:1px 6px;border-radius:8px;font-family:var(--font-mono);}

.main-content{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;}
.topbar{height:var(--topbar-h);background:var(--white);border-bottom:1px solid var(--gray-300);display:flex;align-items:center;padding:0 20px;gap:14px;position:sticky;top:0;z-index:90;}
.topbar .search-box{flex:1;max-width:400px;}
.topbar .search-box input{width:100%;border:1px solid var(--gray-300);padding:6px 12px;font-size:12px;font-family:var(--font-main);border-radius:3px;background:var(--gray-50);}
.topbar .search-box input:focus{outline:none;border-color:var(--gray-600);}
.topbar .topbar-right{display:flex;align-items:center;gap:14px;margin-left:auto;}
.topbar .notif-btn{position:relative;background:none;border:none;cursor:pointer;padding:4px;}
.topbar .notif-btn svg{width:18px;height:18px;}
.topbar .notif-btn .notif-dot{position:absolute;top:-2px;right:-4px;min-width:16px;height:16px;background:var(--red);border-radius:8px;font-size:9px;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);padding:0 4px;}
.sidebar-toggle{background:none;border:none;font-size:18px;cursor:pointer;display:none;padding:4px 8px;color:var(--gray-600);}
@media(max-width:768px){.sidebar-toggle{display:inline-block;}}
.topbar .user-menu{display:flex;align-items:center;gap:8px;cursor:pointer;position:relative;}
.topbar .user-menu .avatar{width:28px;height:28px;border-radius:50%;background:var(--gray-300);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--gray-700);}
.topbar .user-menu .name{font-size:12px;font-weight:500;}
.user-dropdown{display:none;position:absolute;top:100%;right:0;background:var(--white);border:1px solid var(--gray-300);box-shadow:0 4px 12px rgba(0,0,0,.08);border-radius:3px;min-width:160px;z-index:200;margin-top:6px;}
.user-dropdown.show{display:block;}
.user-dropdown a{display:block;padding:8px 14px;font-size:12px;color:var(--gray-700);}
.user-dropdown a:hover{background:var(--gray-100);text-decoration:none;}

.page-body{padding:20px;flex:1;}
.breadcrumb{font-size:11px;color:var(--gray-500);margin-bottom:14px;}
.breadcrumb a{color:var(--gray-600);}
.breadcrumb span{margin:0 4px;}
.page-title{font-size:18px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:12px;}
.page-title .subtitle{font-size:12px;font-weight:400;color:var(--gray-500);}

/* Cards */
.card{background:var(--white);border:1px solid var(--gray-200);border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.card-header{padding:12px 16px;border-bottom:1px solid var(--gray-200);font-weight:600;font-size:13px;display:flex;align-items:center;justify-content:space-between;}
.card-body{padding:16px;}
.card-footer{padding:10px 16px;border-top:1px solid var(--gray-200);font-size:12px;}

/* Summary Cards */
.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px;}
.summary-card{background:var(--white);border:1px solid var(--gray-200);border-radius:4px;padding:14px 16px;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.summary-card .label{font-size:10px;text-transform:uppercase;font-weight:700;color:var(--gray-500);letter-spacing:.5px;margin-bottom:4px;}
.summary-card .value{font-size:22px;font-weight:700;font-family:var(--font-mono);}
.summary-card .sub{font-size:11px;color:var(--gray-500);margin-top:2px;}

/* Tables */
.table-wrap{overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:12px;}
table thead th{background:var(--black);color:var(--white);padding:8px 10px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;}
table tbody tr{border-bottom:1px solid var(--gray-200);}
table tbody tr:nth-child(even){background:var(--gray-50);}
table tbody tr:hover{background:var(--gray-100);}
table tbody td{padding:7px 10px;vertical-align:middle;}
table .num{text-align:right;font-family:var(--font-mono);}
table .mono{font-family:var(--font-mono);}
table .actions{white-space:nowrap;}
table .actions a,table .actions button{margin-right:4px;}

/* Badges */
.badge{display:inline-block;padding:2px 8px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;}
.badge-dark{background:var(--gray-800);color:var(--white);}
.badge-green{background:var(--green);color:var(--white);}
.badge-amber{background:var(--amber);color:var(--white);}
.badge-red{background:var(--red);color:var(--white);}
.badge-gray{background:var(--gray-400);color:var(--white);}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;border:1px solid transparent;border-radius:3px;cursor:pointer;font-family:var(--font-main);transition:opacity .15s;text-decoration:none;}
.btn:hover{opacity:.85;text-decoration:none;}
.btn-primary{background:var(--black);color:var(--white);border-color:var(--black);}
.btn-secondary{background:var(--white);color:var(--black);border-color:var(--black);}
.btn-danger{background:var(--red);color:var(--white);border-color:var(--red);}
.btn-success{background:var(--green);color:var(--white);border-color:var(--green);}
.btn-sm{padding:4px 10px;font-size:11px;}
.btn:disabled,.btn.disabled{opacity:.4;cursor:not-allowed;}

/* Forms */
.form-group{margin-bottom:14px;}
.form-group label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-600);margin-bottom:4px;}
.form-control{width:100%;padding:7px 10px;border:1px solid var(--gray-300);border-radius:3px;font-size:13px;font-family:var(--font-main);background:var(--white);transition:border-color .15s;}
.form-control:focus{outline:none;border-color:var(--gray-700);}
select.form-control{appearance:auto;}
textarea.form-control{resize:vertical;min-height:70px;}
.form-row{display:flex;gap:14px;}
.form-row .form-group{flex:1;}
.form-check{display:flex;align-items:center;gap:6px;margin-bottom:6px;}
.form-check input[type="checkbox"]{width:15px;height:15px;accent-color:var(--black);}
.form-check label{font-size:12px;text-transform:none;font-weight:400;margin-bottom:0;}
.form-inline{display:flex;align-items:flex-end;gap:10px;}
.form-inline .form-group{margin-bottom:0;}

/* Modal */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:500;align-items:center;justify-content:center;}
.modal-overlay.show{display:flex;}
.modal{background:var(--white);border-radius:4px;width:90%;max-width:560px;max-height:85vh;overflow-y:auto;box-shadow:0 8px 30px rgba(0,0,0,.15);}
.modal-header{padding:14px 18px;border-bottom:1px solid var(--gray-200);font-weight:700;font-size:14px;display:flex;justify-content:space-between;align-items:center;}
.modal-header .close-btn{background:none;border:none;font-size:20px;cursor:pointer;color:var(--gray-500);line-height:1;}
.modal-body{padding:18px;}
.modal-footer{padding:12px 18px;border-top:1px solid var(--gray-200);display:flex;justify-content:flex-end;gap:8px;}

/* Toast */
.toast-container{position:fixed;top:60px;right:20px;z-index:600;display:flex;flex-direction:column;gap:8px;}
.toast{padding:10px 16px;border-radius:3px;font-size:12px;font-weight:500;box-shadow:0 2px 8px rgba(0,0,0,.1);animation:slideIn .3s ease;min-width:250px;}
.toast-success{background:var(--green);color:#fff;}
.toast-error{background:var(--red);color:#fff;}
.toast-warning{background:var(--amber);color:#fff;}
@keyframes slideIn{from{transform:translateX(100%);opacity:0;}to{transform:translateX(0);opacity:1;}}

/* Pagination */
.pagination{display:flex;gap:4px;margin-top:14px;align-items:center;}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:28px;padding:0 8px;border:1px solid var(--gray-300);border-radius:3px;font-size:11px;font-family:var(--font-mono);color:var(--gray-700);}
.pagination a:hover{background:var(--gray-100);text-decoration:none;}
.pagination .active{background:var(--black);color:var(--white);border-color:var(--black);}

/* Tabs */
.tabs{display:flex;border-bottom:2px solid var(--gray-200);margin-bottom:16px;}
.tab{padding:8px 16px;font-size:12px;font-weight:600;color:var(--gray-500);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s;}
.tab:hover{color:var(--black);}
.tab.active{color:var(--black);border-bottom-color:var(--black);}
.tab-content{display:none;}
.tab-content.active{display:block;}

/* Steps / Wizard */
.wizard-steps{display:flex;margin-bottom:24px;border-bottom:1px solid var(--gray-200);padding-bottom:16px;}
.wizard-step{flex:1;text-align:center;position:relative;padding:0 10px;}
.wizard-step .step-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--gray-300);font-size:12px;font-weight:700;font-family:var(--font-mono);color:var(--gray-500);margin-bottom:4px;}
.wizard-step.active .step-num{border-color:var(--black);background:var(--black);color:var(--white);}
.wizard-step.done .step-num{border-color:var(--green);background:var(--green);color:var(--white);}
.wizard-step .step-label{display:block;font-size:10px;text-transform:uppercase;font-weight:600;color:var(--gray-500);letter-spacing:.3px;}
.wizard-step.active .step-label{color:var(--black);}
.wizard-panel{display:none;}
.wizard-panel.active{display:block;}

/* Activity */
.activity-list{list-style:none;}
.activity-list li{padding:8px 0;border-bottom:1px solid var(--gray-200);font-size:12px;display:flex;gap:10px;align-items:flex-start;}
.activity-list li:last-child{border-bottom:none;}
.activity-list .time{font-family:var(--font-mono);font-size:10px;color:var(--gray-500);white-space:nowrap;min-width:110px;}
.activity-list .dot{width:8px;height:8px;border-radius:50%;background:var(--gray-400);margin-top:4px;flex-shrink:0;}

/* PDF Viewer */
.pdf-container{background:var(--gray-200);border:1px solid var(--gray-300);border-radius:4px;position:relative;overflow:auto;max-height:70vh;}
.pdf-page-wrap{position:relative;margin:10px auto;background:var(--white);box-shadow:0 1px 4px rgba(0,0,0,.1);}
.pdf-nav{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px;background:var(--white);border-top:1px solid var(--gray-200);}
.pdf-nav .btn{padding:4px 12px;}
.pdf-nav span{font-family:var(--font-mono);font-size:12px;}

/* Signature Zone */
.sig-zone{position:absolute;border:2px dashed;border-radius:3px;cursor:move;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;text-transform:uppercase;opacity:.7;transition:opacity .15s;}
.sig-zone:hover{opacity:1;}
.sig-zone .zone-label{pointer-events:none;text-shadow:0 1px 2px rgba(255,255,255,.8);}
.sig-zone .zone-delete{position:absolute;top:-8px;right:-8px;width:16px;height:16px;border-radius:50%;background:var(--red);color:#fff;border:none;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;}
.sig-zone .zone-resize{position:absolute;bottom:-4px;right:-4px;width:10px;height:10px;background:var(--gray-600);cursor:se-resize;}

/* Signing methods */
.sign-method-card{border:1px solid var(--gray-200);border-radius:4px;padding:16px;text-align:center;cursor:pointer;transition:border-color .15s;}
.sign-method-card:hover,.sign-method-card.selected{border-color:var(--black);}
.sign-method-card h4{font-size:13px;margin-bottom:4px;}
.sign-method-card p{font-size:11px;color:var(--gray-500);}

/* Utility */
.text-center{text-align:center;}
.text-right{text-align:right;}
.text-muted{color:var(--gray-500);}
.text-red{color:var(--red);}
.text-green{color:var(--green);}
.mb-0{margin-bottom:0;}
.mb-8{margin-bottom:8px;}
.mb-16{margin-bottom:16px;}
.mt-16{margin-top:16px;}
.mt-8{margin-top:8px;}
.flex{display:flex;}
.flex-between{display:flex;justify-content:space-between;align-items:center;}
.gap-8{gap:8px;}
.gap-12{gap:12px;}
.hidden{display:none!important;}

/* Login */
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gray-100);}
.login-box{background:var(--white);border:1px solid var(--gray-200);border-radius:4px;padding:36px;width:100%;max-width:380px;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.login-box h1{font-size:20px;margin-bottom:4px;}
.login-box .sub{font-size:12px;color:var(--gray-500);margin-bottom:24px;}
.login-box .error-msg{background:#fdecea;border:1px solid #f5c6cb;color:var(--red);padding:8px 12px;border-radius:3px;font-size:12px;margin-bottom:14px;}

/* Responsive */
@media(max-width:768px){
    .sidebar{transform:translateX(-100%);}
    .sidebar.open{transform:translateX(0);}
    .main-content{margin-left:0;}
    .form-row{flex-direction:column;}
    .summary-cards{grid-template-columns:repeat(2,1fr);}
}

/* Signer colors */
.signer-color-0{border-color:#1a73e8;color:#1a73e8;background:rgba(26,115,232,.08);}
.signer-color-1{border-color:#e8710a;color:#e8710a;background:rgba(232,113,10,.08);}
.signer-color-2{border-color:#9334e6;color:#9334e6;background:rgba(147,52,230,.08);}
.signer-color-3{border-color:#e52592;color:#e52592;background:rgba(229,37,146,.08);}
.signer-color-4{border-color:#12b5cb;color:#12b5cb;background:rgba(18,181,203,.08);}

/* Toggle */
.toggle-switch{position:relative;display:inline-block;width:40px;height:22px;}
.toggle-switch input{opacity:0;width:0;height:0;}
.toggle-slider{position:absolute;inset:0;background:var(--gray-300);border-radius:11px;cursor:pointer;transition:.2s;}
.toggle-slider:before{content:'';position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s;}
input:checked+.toggle-slider{background:var(--black);}
input:checked+.toggle-slider:before{transform:translateX(18px);}

/* Tooltip */
.tooltip-wrap{position:relative;display:inline-block;}
.tooltip-wrap .tooltip-text{visibility:hidden;background:var(--gray-800);color:#fff;font-size:10px;padding:4px 8px;border-radius:3px;position:absolute;bottom:125%;left:50%;transform:translateX(-50%);white-space:nowrap;z-index:10;}
.tooltip-wrap:hover .tooltip-text{visibility:visible;}

/* Signature Pad canvas */
.sig-pad-wrap{border:1px solid var(--gray-300);border-radius:4px;background:var(--white);}
.sig-pad-wrap canvas{display:block;width:100%;height:200px;}

/* ═══ Pact Zone nav-group collapse ═══ */
.nav-group-items{overflow:hidden;max-height:400px;transition:max-height .25s ease,opacity .2s;opacity:1;}
.nav-group.collapsed .nav-group-items{max-height:0;opacity:0;}
.nav-group-toggle{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 4px;cursor:pointer;user-select:none;}
.nav-group-toggle .nav-section-label{font-size:10px;text-transform:uppercase;font-weight:700;color:var(--gray-500);letter-spacing:.8px;}
.nav-group-arrow{width:10px;height:10px;stroke:var(--gray-400);fill:none;stroke-width:2;transition:transform .2s;flex-shrink:0;}
.nav-group.collapsed .nav-group-arrow{transform:rotate(-90deg);}
.sidebar nav a.sub{padding-left:36px;font-size:12px;}

/* Pact Zone page util classes that pages already use */
.pz-page-hdr{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;gap:12px;}
.pz-page-hdr-right{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.pz-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;}
.pz-stat-card{background:var(--white);border:1px solid var(--gray-200);border-radius:4px;padding:14px 16px;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.pz-stat-label{font-size:10px;text-transform:uppercase;font-weight:700;color:var(--gray-500);letter-spacing:.5px;margin-bottom:4px;}
.pz-stat-val{font-size:24px;font-weight:700;font-family:var(--font-mono);}
.pz-stat-sub{font-size:11px;color:var(--gray-500);margin-top:2px;}
.pz-panel,.pz-table-wrap{background:var(--white);border:1px solid var(--gray-200);border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.04);overflow:hidden;}
.pz-panel-head,.pz-table-head{padding:10px 14px;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;gap:8px;}
.pz-panel-head-title,.pz-table-head-title{font-size:12px;font-weight:700;flex:1;}
.pz-search-wrap{position:relative;}
.pz-search-wrap svg{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:12px;height:12px;stroke:var(--gray-400);fill:none;stroke-width:2;pointer-events:none;}
.pz-search{padding:5px 10px 5px 28px;border:1px solid var(--gray-300);border-radius:3px;font-size:12px;font-family:var(--font-main);background:var(--gray-50);width:200px;transition:all .15s;}
.pz-search:focus{outline:none;border-color:var(--gray-600);}
.row-actions{display:flex;gap:4px;align-items:center;}
.act-btn{width:26px;height:26px;border:1px solid var(--gray-300);background:var(--white);border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--gray-500);transition:all .15s;}
.act-btn:hover{border-color:var(--gray-600);color:var(--black);background:var(--gray-50);}
.act-btn.danger:hover{border-color:var(--red);color:var(--red);}
.act-btn svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;}
.user-cell{display:flex;align-items:center;gap:8px;}
.user-av{width:28px;height:28px;border-radius:50%;background:var(--gray-200);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--gray-600);flex-shrink:0;font-family:var(--font-mono);}
.user-name{font-size:12px;font-weight:600;color:var(--black);}
.user-email{font-size:10px;color:var(--gray-500);font-family:var(--font-mono);}
.role-chip{display:inline-block;padding:2px 7px;border-radius:3px;font-size:9px;font-weight:600;background:var(--gray-100);border:1px solid var(--gray-300);color:var(--gray-700);margin:1px;}
.module-tag{display:inline-block;padding:2px 7px;border-radius:3px;font-size:9px;font-weight:600;background:var(--gray-100);border:1px solid var(--gray-200);color:var(--gray-500);font-family:var(--font-mono);}
.code-preview{font-family:var(--font-mono);font-size:11px;background:var(--gray-100);border:1px solid var(--gray-200);padding:2px 8px;border-radius:3px;color:var(--gray-700);display:inline-block;}
.perm-group{margin-bottom:14px;}
.perm-group-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gray-500);padding:6px 0;border-bottom:1px solid var(--gray-200);margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;}
.perm-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.perm-item{display:flex;align-items:flex-start;gap:7px;padding:6px 8px;border-radius:3px;cursor:pointer;transition:background .12s;}
.perm-item:hover{background:var(--gray-50);}
.perm-item input[type="checkbox"]{margin-top:2px;accent-color:var(--black);flex-shrink:0;cursor:pointer;}
.perm-item-name{font-size:11px;font-weight:600;color:var(--black);}
.perm-item-code{font-size:9px;font-family:var(--font-mono);color:var(--gray-500);}
.role-check-grid{display:flex;flex-direction:column;gap:4px;}
.role-check-item{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid var(--gray-200);border-radius:3px;cursor:pointer;transition:background .12s;}
.role-check-item:hover{background:var(--gray-50);}
.role-check-item input{accent-color:var(--black);margin-top:2px;cursor:pointer;}
.role-check-name{font-size:12px;font-weight:600;}
.role-check-desc{font-size:10px;color:var(--gray-500);margin-top:1px;}
.pz-empty{text-align:center;padding:50px 20px;}
.pz-empty svg{width:32px;height:32px;stroke:var(--gray-300);fill:none;stroke-width:1.5;display:block;margin:0 auto 10px;}
.pz-empty-title{font-size:13px;font-weight:600;color:var(--gray-600);margin-bottom:4px;}
.pz-empty-sub{font-size:11px;color:var(--gray-400);}
.pz-activity-list{}
.pz-activity-item{display:flex;gap:10px;padding:8px 14px;border-bottom:1px solid var(--gray-200);font-size:12px;}
.pz-activity-item:last-child{border-bottom:none;}
.pz-activity-dot{width:7px;height:7px;border-radius:50%;background:var(--gray-400);flex-shrink:0;margin-top:4px;}
.pz-activity-text{flex:1;color:var(--gray-600);line-height:1.4;}
.pz-activity-text strong{color:var(--black);font-weight:600;}
.pz-activity-time{font-family:var(--font-mono);font-size:9px;color:var(--gray-500);white-space:nowrap;margin-top:2px;}
.pz-callout{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:3px;padding:10px 14px;display:flex;align-items:flex-start;gap:8px;margin-bottom:14px;}
.pz-callout svg{width:14px;height:14px;stroke:var(--gray-500);fill:none;stroke-width:2;flex-shrink:0;margin-top:1px;}
.pz-callout-text{font-size:11px;color:var(--gray-600);line-height:1.5;}
.badge-active{background:var(--green);color:var(--white);}
.badge-inactive{background:var(--gray-400);color:var(--white);}
.badge-system{background:var(--gray-800);color:var(--white);}
.badge-custom{background:var(--gray-200);color:var(--gray-700);border:1px solid var(--gray-300);}
.badge-count{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300);}
.modal.modal-lg{max-width:680px;}
.form-divider{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gray-500);padding:10px 0 8px;border-bottom:1px solid var(--gray-200);margin-bottom:12px;}
@media(max-width:1100px){.pz-stats{grid-template-columns:repeat(2,1fr);}}/* === FROM: includes/header.php === */

.kl{position:fixed;inset:0;z-index:9998;display:none;align-items:center;justify-content:center;}.kl::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.3);}.kl.active{display:flex;}
.kl-box{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:14px;background:#fff;border-radius:14px;padding:36px 44px 28px;box-shadow:0 16px 56px rgba(0,0,0,.22);animation:klIn .25s ease;}@keyframes klIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
.kl-svg{width:72px;height:72px;}.kl-sig{stroke-dasharray:120;stroke-dashoffset:120;animation:klS 1.8s ease-in-out infinite;}@keyframes klS{0%{stroke-dashoffset:120}50%{stroke-dashoffset:0}55%{stroke-dashoffset:0}100%{stroke-dashoffset:120}}
.kl-pen{animation:klP 1.8s ease-in-out infinite;transform-origin:72px 90px;}@keyframes klP{0%{transform:translate(-10px,-2px)}50%{transform:translate(10px,-1px)}100%{transform:translate(-10px,-2px)}}
.kl-txt{font-family:var(--font-mono);font-size:12px;color:var(--gray-600);}.kl-dots::after{content:'';animation:klD 1.4s steps(4,end) infinite;}@keyframes klD{0%{content:''}25%{content:'.'}50%{content:'..'}75%{content:'...'}}
.kt-container{position:fixed;top:24px;left:50%;transform:translateX(-50%);z-index:10001;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;width:100%;max-width:440px;}
.kt{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;padding:14px 18px;background:var(--white);border:1px solid var(--gray-200);border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.12);width:100%;animation:ktIn .3s ease;position:relative;overflow:hidden;}.kt.removing{animation:ktOut .25s ease forwards;}
@keyframes ktIn{from{opacity:0;transform:translateY(-12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ktOut{to{opacity:0;transform:translateY(-8px) scale(.96)}}
.kt::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;}.kt.kt-error::before{background:#222;}.kt.kt-warning::before{background:#888;}.kt.kt-success::before{background:#444;}.kt.kt-info::before{background:#aaa;}
.kt-icon{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;}.kt-error .kt-icon{background:#222;}.kt-warning .kt-icon{background:#888;}.kt-success .kt-icon{background:#444;}.kt-info .kt-icon{background:#aaa;}
.kt-icon svg{width:12px;height:12px;stroke:#fff;stroke-width:2.5;fill:none;stroke-linecap:round;}.kt-body{flex:1;min-width:0;}.kt-title{font-size:12px;font-weight:700;color:var(--black);margin-bottom:2px;}.kt-msg{font-size:12px;color:var(--gray-600);line-height:1.45;}
.kt-close{flex-shrink:0;width:24px;height:24px;background:none;border:1px solid var(--gray-200);border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--gray-400);font-size:14px;transition:all .15s;}.kt-close:hover{border-color:var(--gray-400);color:var(--black);}
.kt-progress{position:absolute;bottom:0;left:0;height:2px;background:var(--gray-300);transition:width linear;}
.km-overlay{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.3);}.km-overlay.show{display:flex;}
.km-box{background:var(--white);border:1px solid var(--gray-200);border-radius:14px;padding:32px 36px 26px;min-width:360px;max-width:440px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.18);animation:kmIn .25s ease;}@keyframes kmIn{from{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
.ka-icon-wrap{margin-bottom:16px;display:flex;justify-content:center;}.ka-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;}.ka-icon svg{width:26px;height:26px;fill:none;stroke-width:2;stroke-linecap:round;}
.ka-icon-error{background:#f5f5f5;border:2px solid #222;}.ka-icon-error svg{stroke:#222;}.ka-icon-warning{background:#f5f5f5;border:2px solid #888;}.ka-icon-warning svg{stroke:#666;}.ka-icon-success{background:#222;border:2px solid #222;}.ka-icon-success svg{stroke:#fff;}.ka-icon-info{background:#f5f5f5;border:2px solid #aaa;}.ka-icon-info svg{stroke:#666;}
.ka-title{font-size:16px;font-weight:700;color:var(--black);margin-bottom:8px;}.km-msg{font-size:13px;color:var(--gray-600);margin-bottom:24px;line-height:1.55;}.km-actions{display:flex;gap:10px;justify-content:center;}
.km-btn{padding:10px 32px;border-radius:8px;font-size:13px;font-weight:600;font-family:var(--font-main);cursor:pointer;transition:all .15s;border:1px solid transparent;}.km-cancel{background:var(--white);border-color:var(--gray-300);color:var(--gray-600);}.km-cancel:hover{border-color:var(--gray-500);color:var(--black);}.km-ok{background:var(--black);color:var(--white);border-color:var(--black);}.km-ok:hover{background:var(--gray-800);}
/* Zone sub-nav */
.zone-subnav{max-height:0;overflow:hidden;transition:max-height .3s ease;}.zone-subnav.open{max-height:600px;}
.zone-subnav a{padding-left:36px !important;font-size:12px !important;color:var(--gray-600) !important;}.zone-subnav a.active{color:var(--black) !important;font-weight:700 !important;background:var(--gray-100) !important;}.zone-subnav a:hover{color:var(--black) !important;background:var(--gray-50) !important;}
.zone-parent{position:relative;}.zone-parent .zone-arrow{width:11px;height:11px;transition:transform .2s;margin-left:auto;flex-shrink:0;}.zone-parent.expanded .zone-arrow{transform:rotate(180deg);}.zone-parent.zone-active{background:var(--gray-100);font-weight:700;}
.mod-badge{font-size:8px;font-weight:700;background:var(--gray-200);color:var(--gray-500);padding:1px 5px;border-radius:3px;margin-left:auto;text-transform:uppercase;letter-spacing:.4px;}.mod-badge.soon{opacity:.7;}.badge-amber{background:var(--amber);color:var(--white);}

/* === FROM: pages/dashboard.php === */

.ud{max-width:1440px;margin:0 auto;padding:0 0 40px;}
.ud-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}.ud-head h2{font-size:17px;margin:0;}.ud-head-sub{font-size:12px;font-weight:400;color:var(--gray-500);}
.ud-head-actions{display:flex;gap:6px;flex-wrap:wrap;}.ud-head-actions a{font-size:10px;font-weight:700;padding:6px 14px;text-decoration:none;border:1.5px solid var(--gray-200);color:var(--gray-700);transition:all .12s;}.ud-head-actions a:hover{border-color:var(--gray-500);text-decoration:none;}.ud-head-actions a.pri{background:var(--black);color:#fff;border-color:var(--black);}.ud-head-actions a.pri:hover{background:#222;}
.ud-ticker{display:flex;gap:16px;align-items:center;padding:8px 14px;background:#fff;border:1.5px solid var(--gray-200);margin-bottom:12px;font-size:11px;font-family:var(--font-mono);flex-wrap:wrap;}.ud-ticker span{display:flex;align-items:center;gap:4px;}.ud-ticker .tv{font-weight:800;font-size:13px;}.ud-ticker .sep{color:var(--gray-300);font-size:9px;}.ud-ticker .warn-val{color:var(--red);font-weight:800;}
.zs{display:flex;gap:0;margin-bottom:16px;}.zs-item{flex:1;min-width:0;position:relative;overflow:hidden;filter:drop-shadow(0 1px 3px rgba(0,0,0,.06));}.zs-item:nth-child(1){z-index:4;}.zs-item:nth-child(2){z-index:3;}.zs-item:nth-child(3){z-index:2;}.zs-item:nth-child(4){z-index:1;}
.zs-card{padding:14px 16px 12px 30px;background:#fff;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,0 100%,20px 50%);display:block;text-decoration:none;color:inherit;transition:background .15s;}.zs-item:first-child .zs-card{padding-left:16px;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,0 100%);}.zs-item:last-child .zs-card{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,20px 50%);}
.zs-card:hover{background:var(--gray-50);text-decoration:none;color:inherit;}.zs-card.on{background:var(--black);color:#fff;}.zs-card.on .zs-label{color:rgba(255,255,255,.4);}.zs-card.on .sp{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.5);background:rgba(255,255,255,.06);}.zs-card.on .sp.on{background:#fff;color:#000;border-color:#fff;}.zs-card.on .sp.warn{background:#dc2626;color:#fff;border-color:#dc2626;}
.zs-count{font-size:26px;font-weight:900;font-family:var(--font-mono);line-height:1;letter-spacing:-1.5px;}.zs-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gray-400);margin-top:3px;display:flex;align-items:center;gap:5px;}.zs-dot{width:7px;height:7px;border-radius:50%;}
.zs-pills{display:flex;gap:0;margin-top:8px;}.sp{display:inline-flex;align-items:center;gap:2px;padding:3px 9px 3px 8px;font-size:8px;font-weight:700;border:1.5px solid var(--gray-200);color:var(--gray-500);text-decoration:none;background:#fff;transition:all .1s;clip-path:polygon(0 0,calc(100% - 5px) 0,100% 50%,calc(100% - 5px) 100%,0 100%,5px 50%);line-height:1.2;flex-shrink:1;min-width:0;overflow:hidden;white-space:nowrap;}.sp:first-child{clip-path:polygon(0 0,calc(100% - 5px) 0,100% 50%,calc(100% - 5px) 100%,0 100%);padding-left:5px;}.sp:last-child{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,5px 50%);padding-right:5px;}.sp:hover{border-color:var(--gray-400);color:var(--gray-700);background:var(--gray-50);text-decoration:none;}.sp.on{background:var(--black);color:#fff;border-color:var(--black);}.sp .n{font-family:var(--font-mono);font-weight:900;font-size:9px;}.sp.warn{border-color:#fca5a5;color:#dc2626;background:#fef2f2;}
.ud-tw{background:#fff;border:1.5px solid var(--gray-200);overflow:hidden;}.ud-tb{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--gray-100);gap:8px;}.ud-tbl{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--gray-500);}.ud-tbl strong{color:var(--gray-800);font-family:var(--font-mono);}
.ud-search{border:1px solid var(--gray-200);padding:5px 10px;font-size:11px;border-radius:2px;width:200px;outline:none;font-family:inherit;}.ud-search:focus{border-color:var(--gray-500);}.ud-reset{font-size:9px;padding:4px 10px;background:var(--gray-100);border:1px solid var(--gray-200);cursor:pointer;font-weight:600;color:var(--gray-600);border-radius:2px;text-decoration:none;}.ud-reset:hover{background:var(--gray-200);text-decoration:none;}
.ut{width:100%;border-collapse:collapse;font-size:11px;}.ut thead{position:sticky;top:0;z-index:2;}.ut th{background:var(--gray-50);padding:7px 8px;text-align:left;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);border-bottom:1px solid var(--gray-200);white-space:nowrap;}.ut td{padding:7px 8px;border-bottom:1px solid var(--gray-50);vertical-align:middle;}.ut tbody tr:hover td{background:var(--gray-50);}.ut tbody tr{cursor:pointer;}
.ut tr.act td{background:#fffbeb;border-bottom-color:#fef3c7;}.ut tr.act:hover td{background:#fef9c3;}
.ud-dt{font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;display:block;color:var(--gray-800);}
.ud-ct{font-size:9px;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px;display:block;}.ud-id{font-size:9px;font-family:var(--font-mono);color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px;display:block;}.ud-co{font-size:9px;color:var(--gray-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;display:block;}
.ud-pct{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:700;color:#6366f1;cursor:pointer;margin-top:4px;padding:3px 10px;border-radius:4px;background:#eef2ff;border:1.5px solid #c7d2fe;transition:all .15s;user-select:none;}.ud-pct:hover{background:#e0e7ff;border-color:#818cf8;}.ud-pct svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5;transition:transform .25s;}.ud-pct.open svg{transform:rotate(90deg);}.ud-pct.open{background:#6366f1;color:#fff;border-color:#6366f1;}.ud-pct .pct-count{background:rgba(99,102,241,.15);padding:1px 5px;border-radius:8px;font-size:8px;font-weight:800;font-family:var(--font-mono);}.ud-pct.open .pct-count{background:rgba(255,255,255,.2);}
.ud-pcl{display:inline-flex;align-items:center;gap:3px;font-size:8px;color:var(--gray-500);font-weight:700;margin-top:2px;padding:1px 6px;background:var(--gray-100);border-radius:3px;text-transform:uppercase;letter-spacing:.3px;}
.ud-chr{display:none;}.ud-chr.vis{display:table-row;}.ud-chr td{background:#f5f3ff !important;border-bottom:1px solid #e9e5ff !important;}.ud-chr:hover td{background:#ede9fe !important;}.ud-chr td:first-child{padding-left:28px;position:relative;}.ud-chr td:first-child::before{content:'';position:absolute;left:12px;top:0;bottom:0;width:2px;background:#c7d2fe;}.ud-chr td:first-child::after{content:'';position:absolute;left:12px;top:50%;width:10px;height:2px;background:#c7d2fe;}.ud-chr .ud-dt{font-size:10.5px;max-width:180px;color:#4338ca;}
.ud-b{display:inline-block;padding:2px 6px;border-radius:2px;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;}.ud-b-draft{background:#e2e3e5;color:#555;}.ud-b-review{background:#e0e7ff;color:#3730a3;}.ud-b-reviewed{background:#fef3c7;color:#92400e;}.ud-b-approve{background:#f3e8ff;color:#6b21a8;}.ud-b-approved{background:#dbeafe;color:#1e40af;}.ud-b-active{background:#d1fae5;color:#065f46;}.ud-b-expired{background:#fee2e2;color:#991b1b;}.ud-b-terminated{background:#e2e3e5;color:#383d41;}.ud-b-pending{background:#fef3c7;color:#92400e;}.ud-b-completed{background:#d1fae5;color:#065f46;}.ud-b-partially_signed{background:#fef3c7;color:#92400e;}.ud-b-rejected{background:#fee2e2;color:#991b1b;}.ud-b-stamped{background:#d1fae5;color:#065f46;}.ud-b-skipped{background:#e2e3e5;color:#555;}.ud-b-archived{background:#e0e7ff;color:#3730a3;}
.ud-ob{display:flex;align-items:center;gap:3px;font-family:var(--font-mono);font-size:10px;font-weight:600;}.ud-ob-w{color:var(--red);font-weight:800;}.ud-d{font-size:9px;font-family:var(--font-mono);color:var(--gray-600);white-space:nowrap;}.ud-d-e{color:var(--red);font-weight:700;}.ud-o{font-size:9px;color:var(--gray-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px;display:block;}
.ud-avs{display:flex;align-items:center;flex-wrap:nowrap;}.ud-av{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:7.5px;font-weight:800;letter-spacing:-.3px;color:#fff;margin-left:-4px;border:1.5px solid #fff;cursor:default;position:relative;flex-shrink:0;text-transform:uppercase;}.ud-av:first-child{margin-left:0;}.ud-av-done{background:#16a34a;}.ud-av-pending{background:#f59e0b;}.ud-av-rejected{background:#dc2626;}.ud-av-conditions{background:#7c3aed;}.ud-av-na{background:var(--gray-200);color:var(--gray-400);font-size:9px;}
.ud-av[data-tip]:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);background:var(--gray-800);color:#fff;font-size:8px;font-weight:600;padding:3px 7px;border-radius:3px;white-space:nowrap;z-index:10;pointer-events:none;letter-spacing:0;text-transform:none;}.ud-av[data-tip]:hover::before{content:'';position:absolute;bottom:calc(100% + 1px);left:50%;transform:translateX(-50%);border:3px solid transparent;border-top-color:var(--gray-800);z-index:10;}
.ud-zd{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0;}.ud-zd.cz{background:#6366f1;}.ud-zd.sz{background:#0ea5e9;}.ud-zd.es{background:#f59e0b;}.ud-zd.rz{background:#10b981;}
.ud-pag{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--gray-100);font-size:10px;color:var(--gray-500);}.ud-pag a{padding:4px 10px;border:1px solid var(--gray-200);font-size:10px;text-decoration:none;color:var(--gray-700);font-weight:600;}.ud-pag a:hover{background:var(--gray-50);}.ud-pag a.disabled{opacity:.3;pointer-events:none;}
.ud-scroll{overflow-x:auto;}@media(max-width:900px){.zs{flex-direction:column;}.zs-card{clip-path:none!important;padding:12px 16px!important;}}

/* === FROM: modules/contractzone/draft.php === */

.dw{max-width:1200px;margin:0 auto;}
.d-step{display:flex;align-items:center;gap:0;margin-bottom:24px;}
.d-s{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;color:var(--gray-400);}.d-s.active{color:var(--black);}
.d-sn{width:20px;height:20px;border-radius:50%;background:var(--gray-200);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:var(--gray-500);}.d-s.active .d-sn{background:var(--black);color:#fff;}
.d-sl{flex:1;height:1px;background:var(--gray-200);margin:0 12px;}
.src-tabs{display:flex;gap:0;margin-bottom:20px;border:1.5px solid var(--gray-200);border-radius:8px;overflow:hidden;}
.src-tab{flex:1;padding:10px 16px;text-align:center;cursor:pointer;font-size:12px;font-weight:700;background:var(--white);border:none;font-family:var(--font-main);color:var(--gray-500);transition:all .15s;}.src-tab.active{background:var(--black);color:var(--white);}
.co-pills{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px;}
.co-pill{padding:8px 18px;border:1.5px solid var(--gray-200);border-radius:8px;font-size:11px;font-weight:600;color:var(--gray-600);cursor:pointer;background:#fff;transition:all .12s;font-family:var(--font-main);}.co-pill:hover{border-color:var(--gray-500);color:var(--black);}.co-pill.active{background:var(--black);color:#fff;border-color:var(--black);}
.filter-bar{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap;}
.filter-search{flex:1;min-width:160px;padding:8px 14px 8px 34px;border:1.5px solid var(--gray-200);border-radius:8px;font-size:11px;font-family:var(--font-main);background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23bbb' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") 12px center no-repeat;}.filter-search:focus{outline:none;border-color:var(--black);}
.sel-co-bar{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--gray-500);}
.sel-co-bar strong{color:var(--black);font-size:11px;}
.sel-co-bar button{background:none;border:1px solid var(--gray-300);border-radius:4px;padding:2px 8px;font-size:9px;color:var(--gray-500);cursor:pointer;font-family:inherit;}.sel-co-bar button:hover{border-color:var(--black);color:var(--black);}
/* Category filter pills */
.cat-pills{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:14px;}
.cat-pill{padding:4px 12px;border:1.5px solid var(--gray-200);border-radius:20px;font-size:9px;font-weight:700;color:var(--gray-500);cursor:pointer;background:#fff;transition:all .12s;font-family:var(--font-main);white-space:nowrap;}
.cat-pill:hover{border-color:var(--gray-500);color:var(--black);}.cat-pill.active{background:var(--black);color:#fff;border-color:var(--black);}
.cat-pill .cp-n{font-family:var(--font-mono);font-size:8px;opacity:.6;margin-left:2px;}
/* Collapsible category sections */
.cat-hdr{display:flex;align-items:center;gap:8px;margin:0;padding:10px 0 8px;border-bottom:1px solid var(--gray-100);cursor:pointer;user-select:none;transition:background .1s;}.cat-hdr:hover{background:var(--gray-50);margin:0 -8px;padding:10px 8px 8px;}
.cat-lbl{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--black);}
.cat-cnt{font-size:8px;font-weight:700;background:var(--gray-200);color:var(--gray-600);padding:1px 6px;border-radius:10px;}
.cat-arrow{margin-left:auto;font-size:10px;color:var(--gray-400);transition:transform .2s;flex-shrink:0;}.cat-sec.open .cat-arrow{transform:rotate(180deg);color:var(--black);}
.cat-body{max-height:0;overflow:hidden;transition:max-height .3s ease;}.cat-sec.open .cat-body{max-height:2000px;}
/* Grid — auto-fill so small categories don't leave empty gaps */
.tg{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;padding:10px 0 14px;}
.tc{border:1.5px solid var(--gray-200);border-radius:8px;padding:14px 12px;cursor:pointer;transition:all .12s;background:#fff;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:100px;}
.tc:hover{border-color:var(--gray-400);background:var(--gray-50);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.04);}
.tc-icon{font-size:24px;margin-bottom:6px;line-height:1;}
.tc-name{font-size:10px;font-weight:700;color:var(--black);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:4px;}
.tc-meta{display:flex;gap:3px;flex-wrap:wrap;justify-content:center;}
.tc-badge{font-size:7px;padding:1px 5px;border-radius:8px;font-weight:700;}
.tc-b-docx{background:#e8f5e9;color:#1b5e20;}.tc-b-fields{background:var(--gray-100);color:var(--gray-600);}.tc-b-company{background:#e3f2fd;color:#1565c0;}.tc-b-all{background:#fff3e0;color:#e65100;}
.tc-no{padding:32px;text-align:center;color:var(--gray-400);font-size:12px;}
.tp-overlay{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.35);}.tp-overlay.show{display:flex;}
.tp-modal{background:#fff;border:2px solid #000;border-radius:12px;width:520px;max-width:92vw;max-height:85vh;overflow-y:auto;animation:tpIn .2s ease;}
@keyframes tpIn{from{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}
.tp-m-head{background:#000;color:#fff;padding:18px 20px;display:flex;align-items:flex-start;gap:12px;}
.tp-m-icon{font-size:32px;line-height:1;flex-shrink:0;}
.tp-m-info{flex:1;min-width:0;}.tp-m-name{font-size:16px;font-weight:700;margin-bottom:2px;}.tp-m-cat{font-size:9px;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.5px;}
.tp-m-close{background:rgba(255,255,255,.15);border:none;color:#fff;width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}.tp-m-close:hover{background:rgba(255,255,255,.25);}
.tp-m-body{padding:18px 20px;}
.tp-m-sel{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--gray-50);border-radius:6px;margin-bottom:14px;font-size:10px;color:var(--gray-600);border:1px solid var(--gray-200);}.tp-m-sel strong{color:var(--black);}
.tp-m-desc{font-size:11px;color:var(--gray-600);line-height:1.6;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--gray-100);}
.tp-m-stats{display:flex;gap:8px;margin-bottom:14px;}
.tp-m-stat{flex:1;background:var(--gray-50);border-radius:6px;padding:10px;text-align:center;}.tp-m-stat-v{font-size:18px;font-weight:700;font-family:var(--font-mono);}.tp-m-stat-l{font-size:7px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;}
.tp-m-sec{margin-bottom:10px;}.tp-m-sec-h{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);margin-bottom:4px;}
.tp-m-fields{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;}
.tp-m-f{display:flex;align-items:center;gap:5px;padding:3px 0;font-size:10px;color:var(--gray-600);}.tp-m-f-dot{width:4px;height:4px;border-radius:50%;background:var(--gray-300);flex-shrink:0;}.tp-m-f-req{color:#c62828;font-size:8px;font-weight:700;margin-left:auto;}
.tp-m-access{margin-top:12px;padding-top:12px;border-top:1px solid var(--gray-100);}.tp-m-access-l{font-size:9px;font-weight:700;text-transform:uppercase;color:var(--gray-500);letter-spacing:.5px;margin-bottom:6px;}
.tp-m-access-pills{display:flex;gap:4px;flex-wrap:wrap;}.tp-m-access-pill{padding:3px 8px;border-radius:12px;font-size:9px;font-weight:600;}
.tp-m-foot{padding:14px 20px;border-top:1px solid var(--gray-100);display:flex;gap:8px;}.tp-m-foot .btn{flex:1;text-align:center;font-size:11px;}
.det-panel{background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:10px;padding:20px;margin-top:16px;display:none;}.det-panel.show{display:block;}
.sel-banner{display:flex;padding:10px 14px;background:var(--black);color:#fff;border-radius:6px;margin-bottom:14px;font-size:11px;align-items:center;gap:8px;}
.sel-banner button{margin-left:auto;background:rgba(255,255,255,.15);border:none;color:#fff;cursor:pointer;border-radius:4px;padding:3px 10px;font-size:10px;font-weight:600;font-family:inherit;}.sel-banner button:hover{background:rgba(255,255,255,.25);}
.det-co{display:none;padding:8px 14px;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:6px;margin-bottom:10px;font-size:11px;color:#2e7d32;font-weight:600;}.det-co.show{display:block;}
.up-zone{border:2.5px dashed var(--gray-300);border-radius:10px;padding:40px 24px;text-align:center;cursor:pointer;transition:all .15s;background:var(--white);}.up-zone:hover,.up-zone.drag-over{border-color:var(--black);background:var(--gray-50);}
.up-zone svg{width:44px;height:44px;stroke:var(--gray-300);fill:none;stroke-width:1.2;display:block;margin:0 auto 12px;}.up-zone:hover svg{stroke:var(--gray-500);}
.up-zone-t{font-size:14px;font-weight:700;color:var(--gray-600);margin-bottom:4px;}.up-zone-s{font-size:11px;color:var(--gray-400);}
.up-file{display:none;padding:10px 16px;background:var(--black);color:#fff;border-radius:6px;font-size:11px;align-items:center;gap:8px;margin-top:10px;}.up-file.show{display:flex;}
.up-file button{margin-left:auto;background:rgba(255,255,255,.15);border:none;color:#fff;cursor:pointer;border-radius:4px;padding:2px 8px;}
.req-banner{background:#e3f2fd;border:1.5px solid #90caf9;border-radius:8px;padding:14px 18px;margin-bottom:20px;font-size:12px;color:#1565c0;}.req-banner strong{color:#0d47a1;}
@media(max-width:900px){.tg{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));}}
@media(max-width:600px){.tg{grid-template-columns:repeat(2,1fr);}}

/* === FROM: modules/contractzone/fill.php === */

.fill-wrap{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:-20px;height:calc(100vh - var(--topbar-h));overflow:hidden;}
.fill-left{background:#e0e0e0;display:flex;flex-direction:column;border-right:1px solid var(--gray-300);min-height:0;}
.fill-left-head{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;background:var(--white);border-bottom:1px solid var(--gray-200);flex-shrink:0;}
.fill-left-head-title{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gray-500);}
.fill-pdf-area{flex:1;overflow:hidden;display:flex;flex-direction:column;position:relative;}
.fill-pdf-loading{position:absolute;inset:0;background:rgba(224,224,224,.85);display:flex;align-items:center;justify-content:center;z-index:10;display:none;}
.fill-pdf-loading.show{display:flex;}
.fill-pdf-loading-inner{background:var(--white);border-radius:8px;padding:20px 28px;text-align:center;box-shadow:0 4px 16px rgba(0,0,0,.12);}
.fill-pdf-loading-inner svg{width:28px;height:28px;stroke:var(--gray-400);fill:none;stroke-width:1.5;display:block;margin:0 auto 8px;animation:spin 1.2s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.fill-pdf-loading-inner p{font-size:11px;color:var(--gray-500);margin:0;}
.fill-pdf-iframe{flex:1;border:none;background:#e0e0e0;}
.no-docx-preview{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;}
.no-docx-card{background:var(--white);border-radius:8px;padding:28px;max-width:420px;text-align:center;box-shadow:0 2px 12px rgba(0,0,0,.1);}
.no-docx-card svg{width:48px;height:48px;stroke:var(--gray-300);fill:none;stroke-width:1.2;display:block;margin:0 auto 12px;}
.no-docx-card h3{font-size:14px;font-weight:700;margin-bottom:6px;}
.no-docx-card p{font-size:11px;color:var(--gray-500);line-height:1.6;}
/* Right form panel */
.fill-right{background:var(--white);display:flex;flex-direction:column;min-height:0;overflow:hidden;}
.fill-right-head{padding:12px 16px;border-bottom:1px solid var(--gray-200);flex-shrink:0;}
.fill-right-title{font-size:13px;font-weight:700;margin-bottom:1px;}
.fill-right-sub{font-size:10px;color:var(--gray-500);}
.fill-form-scroll{flex:1;overflow-y:auto;padding:14px 16px;}
.fill-section-head{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gray-400);padding:8px 0 6px;border-bottom:1px solid var(--gray-100);margin:16px 0 10px;margin-top:0;}
/* 2-column field grid */
.fill-section-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-bottom:6px;}
.fill-field{margin-bottom:0;}
.fill-field.full-width{grid-column:1/-1;}
.fill-field label{display:block;font-size:10px;font-weight:700;color:var(--gray-700);margin-bottom:3px;}
.fill-field .req{color:#c62828;}
.fill-field input,.fill-field textarea,.fill-field select{width:100%;padding:7px 10px;border:1px solid var(--gray-200);border-radius:5px;font-size:12px;font-family:var(--font-main);background:var(--white);transition:border-color .15s;box-sizing:border-box;}
.fill-field input:focus,.fill-field textarea:focus,.fill-field select:focus{outline:none;border-color:var(--black);}
.fill-field textarea{resize:vertical;min-height:56px;}
.fill-field .hint{font-size:9px;color:var(--gray-400);margin-top:2px;}
.fill-right-footer{padding:10px 16px;border-top:1px solid var(--gray-200);background:var(--gray-50);flex-shrink:0;display:flex;gap:8px;align-items:center;}
.fill-progress{flex:1;height:4px;background:var(--gray-200);border-radius:2px;overflow:hidden;}
.fill-progress-bar{height:100%;background:var(--black);border-radius:2px;transition:width .3s;}
.fill-progress-label{font-size:9px;color:var(--gray-500);font-family:var(--font-mono);white-space:nowrap;}
.preview-status{font-size:9px;padding:3px 8px;border-radius:3px;font-weight:700;}
.preview-status.ok{background:#e8f5e9;color:#1b5e20;}
.preview-status.pending{background:#fff3cd;color:#856404;}
.preview-status.error{background:#fce8e8;color:#a32020;}

/* === FROM: modules/contractzone/obligations.php === */

.ob-wrap{display:grid;grid-template-columns:1fr 420px;gap:0;margin:-20px;height:calc(100vh - var(--topbar-h));overflow:hidden;}
/* ── Left: Editor ── */
.ob-left{display:flex;flex-direction:column;border-right:1px solid var(--gray-200);overflow:hidden;background:var(--white);}
.ob-left-head{padding:8px 12px;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;gap:8px;flex-shrink:0;background:var(--gray-50);}
.ob-left-head-title{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);flex:1;}
.ob-toolbar{display:flex;gap:2px;flex-wrap:wrap;padding:6px 10px;border-bottom:1px solid var(--gray-200);background:var(--white);flex-shrink:0;}
.ob-tb-btn{width:28px;height:26px;border:1px solid transparent;border-radius:3px;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--gray-600);font-size:12px;font-family:var(--font-main);}
.ob-tb-btn:hover{background:var(--gray-100);border-color:var(--gray-200);}
.ob-tb-btn.active{background:var(--gray-200);}
.ob-tb-sep{width:1px;background:var(--gray-200);margin:2px 4px;align-self:stretch;}
.ob-editor-wrap{flex:1;overflow-y:auto;position:relative;background:#e8e8e8;padding:20px;}
.ob-editor{
    max-width:794px;margin:0 auto;
}
.ob-editor h1{font-size:16pt;font-weight:700;margin:18px 0 8px;}
.ob-editor h2{font-size:14pt;font-weight:700;margin:16px 0 6px;}
.ob-editor h3{font-size:12pt;font-weight:700;margin:12px 0 4px;}
.ob-editor p{margin:0 0 6px;}
.ob-editor p > strong:only-child{display:block;margin:14px 0 4px;}
.ob-editor table{border-collapse:collapse;width:100%;margin:10px 0;font-size:11pt;}
.ob-editor td,.ob-editor th{border:1px solid #999;padding:6px 10px;vertical-align:top;line-height:1.4;}
.ob-editor img{max-width:100%;height:auto;}
.ob-editor hr{border:none;border-top:1px solid #000;margin:16px 0;}
.ob-editor .doc-title{font-size:18pt;text-align:center;margin:0 0 4px;}
.ob-editor .doc-subtitle{font-size:11pt;text-align:center;font-style:italic;color:#444;margin:0 0 16px;}
.ob-editor-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.9);z-index:10;}
.ob-editor-loading span{font-size:12px;color:var(--gray-500);}
/* Highlights */
mark.ob-hl{border-radius:2px;padding:0 1px;cursor:pointer;position:relative;}
mark.ob-hl::after{content:attr(data-ob-label);position:absolute;top:-16px;left:0;font-size:7px;font-weight:700;font-family:var(--font-main);color:var(--gray-600);background:var(--white);padding:0 3px;border-radius:2px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;}
mark.ob-hl:hover::after{opacity:1;}
/* Floating add button */
.ob-float-btn{position:absolute;z-index:100;display:none;background:var(--black);color:var(--white);border:none;border-radius:6px;padding:6px 12px;font-size:10px;font-weight:700;font-family:var(--font-main);cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.25);white-space:nowrap;transform:translateX(-50%);}
.ob-float-btn:hover{background:var(--gray-800);}
.ob-float-btn::after{content:'';position:absolute;bottom:-5px;left:50%;transform:translateX(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--black);}
/* ── Right: Obligations ── */
.ob-right{display:flex;flex-direction:column;overflow:hidden;background:var(--gray-50);}
.ob-right-head{padding:12px 14px;border-bottom:1px solid var(--gray-200);background:var(--white);flex-shrink:0;}
.ob-right-title{font-size:13px;font-weight:700;}
.ob-right-sub{font-size:9px;color:var(--gray-500);margin-top:2px;}
.ob-list{flex:1;overflow-y:auto;padding:10px 14px;}
.ob-card{background:var(--white);border:1.5px solid var(--gray-200);border-radius:6px;margin-bottom:8px;overflow:hidden;transition:border-color .15s;}
.ob-card:hover{border-color:var(--gray-400);}
.ob-card-head{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--gray-100);background:var(--gray-50);}
.ob-card-dot{width:14px;height:14px;border-radius:3px;flex-shrink:0;}
.ob-card-title{flex:1;border:none;background:none;font-size:11px;font-weight:700;font-family:var(--font-main);outline:none;padding:2px 4px;}
.ob-card-title::placeholder{color:var(--gray-400);}
.ob-card-del{width:22px;height:22px;border:1px solid var(--gray-200);border-radius:3px;background:none;cursor:pointer;color:var(--gray-400);font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ob-card-del:hover{border-color:#c62828;color:#c62828;background:#fff5f5;}
.ob-card-body{padding:8px 10px;}
.ob-card-desc{font-size:10px;color:var(--gray-600);line-height:1.5;margin-bottom:8px;max-height:60px;overflow-y:auto;background:var(--gray-50);padding:6px 8px;border-radius:4px;border:1px solid var(--gray-100);}
.ob-card-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.ob-card-fields label{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--gray-500);margin-bottom:2px;display:block;}
.ob-card-fields select,.ob-card-fields input{width:100%;padding:4px 6px;border:1px solid var(--gray-200);border-radius:3px;font-size:10px;font-family:var(--font-main);}
.ob-footer{padding:10px 14px;border-top:1px solid var(--gray-200);background:var(--white);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.ob-count{font-size:10px;color:var(--gray-500);}
.ob-no-doc{display:flex;align-items:center;justify-content:center;flex:1;padding:40px;text-align:center;color:var(--gray-400);}

/* === FROM: modules/contractzone/view-contract.php === */

/* ===== PAGE STRUCTURE ===== */
.vc{max-width:1100px;margin:0 auto;}

/* ===== HEADER ZONE ===== */
.vc-head{background:#fff;border:1px solid var(--gray-200);border-radius:6px;padding:16px 20px;margin-bottom:12px;}
.vc-head-top{display:flex;align-items:flex-start;gap:14px;margin-bottom:10px;}
.vc-head-left{flex:1;min-width:0;}
.vc-title{font-size:18px;font-weight:700;line-height:1.3;margin-bottom:4px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.vc-ref-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.vc-ref{font-family:var(--font-mono);font-size:10px;color:var(--gray-400);background:var(--gray-50);padding:2px 8px;border-radius:2px;border:1px solid var(--gray-100);}

/* Key metrics row */
.vc-metrics{display:flex;gap:0;border-top:1px solid var(--gray-100);margin:12px -20px -16px;overflow:hidden;border-radius:0 0 5px 5px;}
.vc-metric{flex:1;padding:10px 16px;border-right:1px solid var(--gray-100);display:flex;flex-direction:column;gap:1px;}
.vc-metric:last-child{border-right:none;}
.vc-metric-label{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gray-400);}
.vc-metric-value{font-size:12px;font-weight:600;color:var(--black);}

/* ===== STATUS STEPPER — ARROW CHEVRON ===== */
.vc-stepper{display:flex;align-items:center;gap:0;margin-bottom:12px;overflow-x:auto;}
.vc-step{flex:1;padding:8px 6px 8px 18px;text-align:center;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.2px;color:var(--gray-400);background:var(--gray-100);position:relative;display:flex;align-items:center;justify-content:center;gap:4px;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%,10px 50%);white-space:nowrap;min-width:0;}
.vc-step:first-child{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%);padding-left:10px;border-radius:4px 0 0 4px;}
.vc-step:last-child{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,10px 50%);border-radius:0 4px 4px 0;}
.vc-step.done{background:var(--black);color:#fff;}
.vc-step.current{background:var(--gray-700);color:#fff;}
.vc-step .step-check{width:12px;height:12px;border-radius:50%;border:1.5px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:7px;flex-shrink:0;}
.vc-step.done .step-check{background:#fff;color:var(--black);border-color:#fff;}
.vc-step.current .step-check{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.5);}

/* ===== ACTIONS BAR ===== */
.vc-actions{display:flex;align-items:center;gap:6px;margin-bottom:14px;flex-wrap:wrap;}
.vc-actions-primary{display:flex;gap:6px;margin-right:auto;}
.vc-actions-secondary{display:flex;gap:6px;align-items:center;}
.vc-act{padding:6px 14px;font-size:10px;font-weight:700;border:1px solid var(--black);background:var(--black);color:#fff;cursor:pointer;border-radius:3px;font-family:var(--font-main);text-decoration:none;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;transition:all .12s;}
.vc-act:hover{background:var(--gray-800);color:#fff;text-decoration:none;}
.vc-act-primary{background:var(--black);color:#fff;border-color:var(--black);}
.vc-act-primary:hover{background:var(--gray-800);color:#fff;text-decoration:none;}
.vc-act-light{background:#fff;color:var(--gray-600);border-color:var(--gray-200);}
.vc-act-light:hover{border-color:var(--black);color:var(--black);background:#fff;text-decoration:none;}
.vc-act-divider{width:1px;height:20px;background:var(--gray-200);margin:0 4px;}

/* ===== GRID LAYOUT ===== */
.vc-grid{display:grid;grid-template-columns:1fr 300px;gap:14px;}

/* ===== TABS ===== */
.vc-tabs{display:flex;gap:0;border-bottom:2px solid var(--gray-200);margin-bottom:0;background:#fff;border-radius:6px 6px 0 0;overflow-x:auto;}
.vc-tab{padding:10px 16px;font-size:10px;font-weight:700;cursor:pointer;border:none;background:none;color:var(--gray-400);border-bottom:2px solid transparent;margin-bottom:-2px;font-family:var(--font-main);white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;transition:color .15s;}
.vc-tab:hover{color:var(--gray-700);}
.vc-tab.active{color:var(--black);border-bottom-color:var(--black);}
.vc-tab .tab-count{font-size:8px;background:var(--gray-200);padding:1px 5px;border-radius:8px;margin-left:4px;font-family:var(--font-mono);}
.vc-tab-panel{display:none;background:#fff;border:1px solid var(--gray-200);border-top:none;border-radius:0 0 6px 6px;overflow:hidden;}
.vc-tab-panel.active{display:block;}

/* ===== OBLIGATIONS TABLE ===== */
.ob-tbl{width:100%;border-collapse:collapse;}
.ob-tbl th{background:var(--gray-50);color:var(--gray-500);padding:8px 12px;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;text-align:left;border-bottom:1px solid var(--gray-200);}
.ob-tbl td{padding:10px 12px;border-bottom:1px solid var(--gray-100);font-size:11px;vertical-align:middle;}
.ob-tbl tr:hover td{background:var(--gray-50);}
.ob-tbl tr:last-child td{border-bottom:none;}
.ob-status-select{padding:4px 8px;border:1px solid var(--gray-200);border-radius:3px;font-size:10px;font-family:var(--font-main);background:#fff;cursor:pointer;}
.ob-mine{background:#f0f7ff;}
.ob-type-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:2px;font-size:9px;font-weight:600;}
.ob-overdue{color:#c62828;font-weight:700;}

/* ===== SIDEBAR ===== */
.vc-sidebar{display:flex;flex-direction:column;gap:10px;}
.vc-card{background:#fff;border:1px solid var(--gray-200);border-radius:6px;overflow:hidden;}
.vc-card-head{padding:10px 14px;border-bottom:1px solid var(--gray-100);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);display:flex;align-items:center;gap:6px;}
.vc-card-body{padding:12px 14px;}
.vc-kv{display:flex;justify-content:space-between;align-items:flex-start;padding:6px 0;border-bottom:1px solid var(--gray-50);font-size:11px;gap:10px;}
.vc-kv:last-child{border-bottom:none;}
.vc-kv-l{color:var(--gray-400);font-weight:600;font-size:10px;flex-shrink:0;min-width:80px;}
.vc-kv-r{color:var(--black);text-align:right;word-break:break-word;}
.vc-ob-summary{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.vc-ob-stat{text-align:center;padding:8px;background:var(--gray-50);border-radius:4px;}
.vc-ob-stat-num{font-size:18px;font-weight:800;font-family:var(--font-mono);line-height:1;}
.vc-ob-stat-label{font-size:7px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-400);margin-top:3px;}

/* ===== DOCUMENT VIEW ===== */
.doc-view{
    max-width:816px;margin:10px auto;padding:72px 72px 60px;font-size:12pt;line-height:1.6;
    font-family:'Times New Roman','Times',serif;max-height:600px;overflow-y:auto;
    background:#fff;border:1px solid var(--gray-200);border-radius:4px;box-shadow:0 1px 6px rgba(0,0,0,.1);
}
.doc-view h1{font-size:16pt;font-weight:700;margin:18px 0 8px;}
.doc-view h2{font-size:14pt;font-weight:700;margin:16px 0 6px;}
.doc-view h3{font-size:12pt;font-weight:700;margin:12px 0 4px;}
.doc-view p{margin:0 0 6px;}
.doc-view p > strong:only-child{display:block;margin:14px 0 4px;}
.doc-view table{border-collapse:collapse;width:100%;margin:10px 0;font-size:11pt;}
.doc-view td,.doc-view th{border:1px solid #999;padding:6px 10px;vertical-align:top;line-height:1.4;}
.cr-blurred{filter:blur(5px);user-select:none;pointer-events:none;}
.cr-restricted-visible{border-bottom:2px solid #e65100;padding-bottom:1px;}

/* ===== ACTIVITY LOG ===== */
.act-timeline{position:relative;padding-left:24px;}
.act-timeline::before{content:'';position:absolute;left:8px;top:4px;bottom:4px;width:2px;background:var(--gray-100);}
.act-event{position:relative;padding:0 0 16px 16px;}
.act-event:last-child{padding-bottom:0;}
.act-node{position:absolute;left:-20px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--gray-300);border:2px solid #fff;z-index:1;}
.act-event-text{font-size:11px;color:var(--gray-700);}
.act-event-text strong{color:var(--black);}
.act-event-detail{font-size:10px;color:var(--gray-500);margin-top:1px;}
.act-event-time{font-size:9px;color:var(--gray-400);font-family:var(--font-mono);margin-top:2px;}

/* ===== REVIEW HISTORY ===== */
.rh-level{border:1px solid var(--gray-200);border-radius:4px;margin-bottom:8px;overflow:hidden;}
.rh-level-head{padding:8px 12px;font-size:10px;font-weight:700;display:flex;align-items:center;gap:8px;background:var(--gray-50);border-bottom:1px solid var(--gray-100);}
.rh-level.completed{border-left:3px solid var(--green);}
.rh-reviewer{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--gray-50);font-size:10px;}
.rh-reviewer:last-child{border-bottom:none;}
.rh-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}

/* ===== EMPTY STATE ===== */
.vc-empty{padding:32px;text-align:center;color:var(--gray-400);font-size:12px;}

/* Force button text colors */
a.vc-act,a.vc-act:hover,a.vc-act:visited{color:#fff !important;text-decoration:none !important;}
a.vc-act-light,a.vc-act-light:hover,a.vc-act-light:visited{color:var(--gray-600) !important;text-decoration:none !important;}
a.vc-act-light:hover{color:var(--black) !important;}

/* === FROM: modules/contractzone/initiate-review.php === */

.ir-wrap{max-width:960px;margin:0 auto;}
.ir-info{background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:8px;padding:14px 18px;margin-bottom:16px;display:flex;align-items:center;gap:14px;}
.ir-info-icon{font-size:28px;flex-shrink:0;}
.ir-info-text{flex:1;}
.ir-info-title{font-size:12px;font-weight:700;}
.ir-info-meta{font-size:10px;color:var(--gray-500);margin-top:2px;}
/* Phase 1: Pick workflow */
.ir-wf-list{display:grid;gap:12px;}
.ir-wf-card{background:var(--white);border:2px solid var(--gray-200);border-radius:8px;padding:16px;transition:border-color .15s;cursor:default;}
.ir-wf-card:hover{border-color:var(--gray-400);}
.ir-wf-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.ir-wf-card-name{font-size:14px;font-weight:700;}
.ir-wf-card-co{font-size:10px;color:var(--gray-500);}
.ir-wf-levels{margin-bottom:12px;}
.ir-wf-lvl{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:6px;margin-bottom:4px;}
.ir-wf-lvl-num{width:20px;height:20px;background:var(--black);color:#fff;border-radius:50%;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.ir-wf-lvl-info{flex:1;}
.ir-wf-lvl-label{font-size:11px;font-weight:700;}
.ir-wf-lvl-mode{font-size:9px;color:var(--gray-500);}
.ir-wf-lvl-revs{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;}
.ir-wf-rev-chip{padding:2px 8px;border-radius:10px;font-size:9px;font-weight:600;}
.ir-wf-rev-chip.user{background:#e3f2fd;color:#1565c0;}
.ir-wf-rev-chip.dept{background:#e8f5e9;color:#2e7d32;}
.ir-wf-arrow{text-align:center;font-size:12px;color:var(--gray-300);padding:2px 0;}
.ir-pick-btn{padding:8px 20px;background:var(--black);color:#fff;border:none;border-radius:6px;font-size:11px;font-weight:700;cursor:pointer;font-family:var(--font-main);}
.ir-pick-btn:hover{background:var(--gray-800);}
.ir-no-wf{text-align:center;padding:40px;color:var(--gray-400);font-size:12px;}
/* Phase 2: Customize */
#phase2{display:none;}
.ir-level{border:1.5px solid var(--gray-200);border-radius:6px;margin-bottom:8px;background:var(--white);}
.ir-level-head{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--gray-50);border-bottom:1px solid var(--gray-100);border-radius:6px 6px 0 0;}
.ir-level-num{width:22px;height:22px;background:var(--black);color:#fff;border-radius:50%;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ir-level-label{flex:1;border:none;background:none;font-size:11px;font-weight:700;font-family:var(--font-main);outline:none;padding:2px 4px;}
.ir-level-mode{padding:3px 6px;border:1px solid var(--gray-200);border-radius:3px;font-size:9px;font-family:var(--font-main);background:var(--white);cursor:pointer;}
.ir-level-del{width:22px;height:22px;border:1px solid var(--gray-200);border-radius:3px;background:none;cursor:pointer;color:var(--gray-400);font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ir-level-del:hover{border-color:#c62828;color:#c62828;background:#fff5f5;}
.ir-level-body{padding:8px 10px;}
.ir-rev{display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--gray-100);border-radius:4px;margin-bottom:3px;background:var(--white);font-size:10px;}
.ir-rev-icon{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:9px;}
.ir-rev-icon.u{background:#e3f2fd;color:#1565c0;}
.ir-rev-icon.d{background:#e8f5e9;color:#2e7d32;}
.ir-rev-name{font-weight:700;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ir-rev-meta{font-size:8px;color:var(--gray-500);}
.ir-rev-del{width:18px;height:18px;border:1px solid var(--gray-200);border-radius:3px;background:none;cursor:pointer;color:var(--gray-400);font-size:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.ir-rev-del:hover{border-color:#c62828;color:#c62828;}
.ir-add-row{display:flex;gap:4px;margin-top:6px;align-items:flex-start;}
.ir-add-row select,.ir-add-row input{padding:5px 6px;border:1px solid var(--gray-200);border-radius:3px;font-size:10px;font-family:var(--font-main);}
.ir-add-row select:focus,.ir-add-row input:focus{outline:none;border-color:var(--black);}
.ir-add-btn{padding:5px 8px;background:var(--black);color:#fff;border:none;border-radius:3px;font-size:9px;font-weight:700;cursor:pointer;font-family:var(--font-main);white-space:nowrap;flex-shrink:0;}
.us-wrap{position:relative;flex:1;min-width:0;}
.us-drop{position:absolute;top:100%;left:0;right:0;background:var(--white);border:1px solid var(--gray-200);border-top:none;border-radius:0 0 4px 4px;max-height:150px;overflow-y:auto;z-index:9999;display:none;box-shadow:0 6px 16px rgba(0,0,0,.12);}
.us-drop.show{display:block;}
.us-opt{padding:5px 8px;cursor:pointer;font-size:10px;border-bottom:1px solid var(--gray-50);display:flex;align-items:center;gap:6px;}
.us-opt:hover{background:var(--gray-50);}
.ir-level-arrow{text-align:center;padding:2px 0;font-size:14px;color:var(--gray-300);}
.ir-add-level{margin:8px 0;padding:8px;border:1.5px dashed var(--gray-300);border-radius:6px;background:none;cursor:pointer;font-size:10px;font-weight:600;color:var(--gray-500);font-family:var(--font-main);text-align:center;width:100%;}
.ir-add-level:hover{border-color:var(--black);color:var(--black);}
.ir-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;}

/* === FROM: modules/contractzone/initiate-approval.php === */

.ia-wrap{max-width:960px;margin:0 auto;}
.ia-info{background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:8px;padding:14px 18px;margin-bottom:16px;display:flex;align-items:center;gap:14px;}
.ia-info-icon{font-size:28px;flex-shrink:0;}
.ia-info-text{flex:1;}
.ia-info-title{font-size:12px;font-weight:700;}
.ia-info-meta{font-size:10px;color:var(--gray-500);margin-top:2px;}
/* Version modal */
.ia-modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9998;display:flex;align-items:center;justify-content:center;}
.ia-modal{background:var(--white);border-radius:10px;padding:28px 32px;max-width:480px;width:100%;box-shadow:0 20px 40px rgba(0,0,0,.2);}
.ia-modal h3{font-size:14px;margin:0 0 6px;}
.ia-modal p{font-size:11px;color:var(--gray-500);margin:0 0 20px;}
.ia-modal-opt{border:2px solid var(--gray-200);border-radius:8px;padding:14px 16px;cursor:pointer;margin-bottom:10px;transition:border-color .15s;}
.ia-modal-opt:hover{border-color:var(--black);}
.ia-modal-opt.active{border-color:var(--black);background:var(--gray-50);}
.ia-modal-opt-title{font-size:12px;font-weight:700;margin-bottom:2px;}
.ia-modal-opt-desc{font-size:10px;color:var(--gray-500);}
.ia-modal-upload{margin-top:8px;display:none;}
.ia-modal-upload input[type=file]{font-size:10px;font-family:var(--font-main);}
.ia-modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;}
/* Workflow cards — same pattern as review */
.ia-wf-list{display:grid;gap:12px;}
.ia-wf-card{background:var(--white);border:2px solid var(--gray-200);border-radius:8px;padding:16px;cursor:default;}
.ia-wf-card:hover{border-color:var(--gray-400);}
.ia-wf-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.ia-wf-card-name{font-size:14px;font-weight:700;}
.ia-wf-card-tpl{font-size:9px;color:var(--gray-400);}
.ia-wf-lvl{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:6px;margin-bottom:4px;}
.ia-wf-lvl-num{width:20px;height:20px;background:var(--black);color:#fff;border-radius:50%;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ia-wf-lvl-info{flex:1;}
.ia-wf-lvl-label{font-size:11px;font-weight:700;}
.ia-wf-lvl-mode{font-size:9px;color:var(--gray-500);}
.ia-wf-lvl-revs{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;}
.ia-wf-rev-chip{padding:2px 8px;border-radius:10px;font-size:9px;font-weight:600;}
.ia-wf-rev-chip.user{background:#eee;color:#333;}
.ia-wf-rev-chip.dept{background:#e8e8e8;color:#555;}
.ia-wf-arrow{text-align:center;font-size:12px;color:var(--gray-300);padding:2px 0;}
.ia-pick-btn{padding:8px 20px;background:var(--black);color:#fff;border:none;border-radius:6px;font-size:11px;font-weight:700;cursor:pointer;font-family:var(--font-main);}
.ia-pick-btn:hover{background:var(--gray-800);}
.ia-no-wf{text-align:center;padding:40px;color:var(--gray-400);font-size:12px;}
/* Phase 2: Customize */
#phase2{display:none;}
.ia-level{border:1.5px solid var(--gray-200);border-radius:6px;margin-bottom:8px;background:var(--white);}
.ia-level-head{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--gray-50);border-bottom:1px solid var(--gray-100);border-radius:6px 6px 0 0;}
.ia-level-num{width:22px;height:22px;background:var(--black);color:#fff;border-radius:50%;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ia-level-label{flex:1;border:none;background:none;font-size:11px;font-weight:700;font-family:var(--font-main);outline:none;padding:2px 4px;}
.ia-level-mode{padding:3px 6px;border:1px solid var(--gray-200);border-radius:3px;font-size:9px;font-family:var(--font-main);background:var(--white);cursor:pointer;}
.ia-level-del{width:22px;height:22px;border:1px solid var(--gray-200);border-radius:3px;background:none;cursor:pointer;color:var(--gray-400);font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ia-level-del:hover{border-color:#c62828;color:#c62828;background:#fff5f5;}
.ia-level-body{padding:8px 10px;}
.ia-rev{display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--gray-100);border-radius:4px;margin-bottom:3px;background:var(--white);font-size:10px;}
.ia-rev-icon{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:9px;background:#eee;color:#555;}
.ia-rev-name{font-weight:700;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ia-rev-meta{font-size:8px;color:var(--gray-500);}
.ia-rev-del{width:18px;height:18px;border:1px solid var(--gray-200);border-radius:3px;background:none;cursor:pointer;color:var(--gray-400);font-size:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.ia-rev-del:hover{border-color:#c62828;color:#c62828;}
.ia-add-row{display:flex;gap:4px;margin-top:6px;align-items:flex-start;}
.ia-add-row input{padding:5px 6px;border:1px solid var(--gray-200);border-radius:3px;font-size:10px;font-family:var(--font-main);flex:1;min-width:0;}
.ia-add-row input:focus{outline:none;border-color:var(--black);}
.us-wrap{position:relative;flex:1;min-width:0;}
.us-drop{position:absolute;top:100%;left:0;right:0;background:var(--white);border:1px solid var(--gray-200);border-top:none;border-radius:0 0 4px 4px;max-height:150px;overflow-y:auto;z-index:9999;display:none;box-shadow:0 6px 16px rgba(0,0,0,.12);}
.us-drop.show{display:block;}
.us-opt{padding:5px 8px;cursor:pointer;font-size:10px;border-bottom:1px solid var(--gray-50);display:flex;align-items:center;gap:6px;}
.us-opt:hover{background:var(--gray-50);}
.ia-level-arrow{text-align:center;padding:2px 0;font-size:14px;color:var(--gray-300);}
.ia-add-level{margin:8px 0;padding:8px;border:1.5px dashed var(--gray-300);border-radius:6px;background:none;cursor:pointer;font-size:10px;font-weight:600;color:var(--gray-500);font-family:var(--font-main);text-align:center;width:100%;}
.ia-add-level:hover{border-color:var(--black);color:var(--black);}
.ia-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;}
/* Phase 3: Approval Note */
#phase3{display:none;}
.an-form{border:2px solid #000;border-radius:0;overflow:hidden;background:#fff;font-size:10px;}
.an-header{background:#000;color:#fff;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;}
.an-header-title{font-size:15px;font-weight:800;letter-spacing:1px;text-transform:uppercase;}
.an-header-right{text-align:right;font-size:10px;line-height:1.5;}
.an-header-ref{font-weight:700;font-size:12px;}
.an-section{border-bottom:2px solid #000;padding:0;}
.an-section:last-child{border-bottom:none;}
.an-section-bar{background:#f5f5f5;padding:6px 16px;border-bottom:1px solid #ddd;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:#000;}
.an-section-body{padding:12px 16px;}
.an-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.an-row{display:flex;border-bottom:1px solid #eee;min-height:28px;}
.an-row:last-child{border-bottom:none;}
.an-row-label{width:140px;flex-shrink:0;padding:5px 10px;font-weight:700;color:#555;font-size:9px;text-transform:uppercase;letter-spacing:.3px;background:#fafafa;border-right:1px solid #eee;display:flex;align-items:center;}
.an-row-value{flex:1;padding:5px 10px;display:flex;align-items:center;}
.an-row-value input{width:100%;border:none;background:transparent;font-size:10px;font-family:var(--font-main);padding:0;outline:none;color:#000;}
.an-row-value input:focus{background:#f8f8f0;}
.an-row-value input[readonly]{color:#000;cursor:default;}
.an-sub-title{font-size:9px;font-weight:700;color:#999;text-transform:uppercase;letter-spacing:.5px;padding:8px 0 4px;border-bottom:1px solid #eee;margin-bottom:0;}
.an-tbl{width:100%;border-collapse:collapse;font-size:10px;}
.an-tbl thead{background:#000;color:#fff;}
.an-tbl th{padding:6px 8px;text-align:left;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border:1px solid #333;}
.an-tbl td{padding:5px 8px;border:1px solid #ddd;vertical-align:top;color:#000;}
.an-tbl tbody tr:nth-child(even){background:#fafafa;}
.an-tbl td input{width:100%;border:none;background:transparent;font-size:10px;font-family:var(--font-main);padding:0;outline:none;}
.an-scope-area{width:100%;border:1px solid #ddd;border-radius:0;padding:10px;font-size:11px;font-family:var(--font-main);resize:vertical;min-height:70px;outline:none;background:#fff;}
.an-scope-area:focus{border-color:#000;background:#fffff5;}
.an-empty{font-size:10px;color:#999;padding:10px 0;font-style:italic;}
.an-review-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid #ddd;border-radius:0;margin-bottom:10px;}
.an-review-meta-item{padding:8px 12px;border-right:1px solid #ddd;text-align:center;}
.an-review-meta-item:last-child{border-right:none;}
.an-review-meta-label{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#999;}
.an-review-meta-val{font-size:12px;font-weight:700;color:#000;margin-top:2px;}
/* Field toggle & custom field */
.an-row-cb{width:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-right:1px solid #eee;background:#fafafa;}
.an-row-cb input[type=checkbox]{width:13px;height:13px;cursor:pointer;accent-color:#000;}
.an-row.an-row-off .an-row-label,.an-row.an-row-off .an-row-value{opacity:.3;text-decoration:line-through;}
.an-row.an-row-off .an-row-value input{pointer-events:none;}
.an-add-field{display:flex;gap:0;border:1px dashed #ccc;border-radius:0;margin-top:6px;overflow:hidden;cursor:pointer;transition:border-color .15s;}
.an-add-field:hover{border-color:#000;}
.an-add-field-icon{width:28px;background:#fafafa;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#999;border-right:1px solid #eee;flex-shrink:0;}
.an-add-field-text{flex:1;padding:5px 10px;font-size:9px;color:#999;font-weight:600;display:flex;align-items:center;}
.an-custom-add{display:none;gap:0;border:1px solid #ddd;margin-top:6px;overflow:hidden;}
.an-custom-add.show{display:flex;}
.an-custom-add input{flex:1;border:none;padding:5px 10px;font-size:10px;font-family:var(--font-main);outline:none;}
.an-custom-add input:first-child{border-right:1px solid #eee;max-width:160px;background:#fafafa;font-weight:600;}
.an-custom-add button{padding:5px 12px;border:none;background:#000;color:#fff;font-size:9px;font-weight:700;cursor:pointer;font-family:var(--font-main);}
.an-custom-add button:hover{background:#333;}
.an-custom-add .an-cancel-btn{background:#eee;color:#555;}
.an-custom-add .an-cancel-btn:hover{background:#ddd;}

/* === FROM: modules/contractzone/view-approval.php === */

.va-wrap{max-width:900px;margin:0 auto;}
.va-info{background:#f8f8f8;border:2px solid #000;padding:14px 18px;margin-bottom:16px;display:flex;align-items:center;gap:14px;}
.va-info-text{flex:1;}
.va-info-title{font-size:13px;font-weight:700;}
.va-info-meta{font-size:10px;color:#888;margin-top:2px;}
.va-grid{display:grid;grid-template-columns:1fr 300px;gap:16px;}
/* Approval Note (reuse styles from initiate-approval) */
.an-form{border:2px solid #000;overflow:hidden;background:#fff;font-size:10px;}
.an-header{background:#000;color:#fff;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;}
.an-header-title{font-size:15px;font-weight:800;letter-spacing:1px;text-transform:uppercase;}
.an-header-right{text-align:right;font-size:10px;line-height:1.5;}
.an-header-ref{font-weight:700;font-size:12px;}
.an-section{border-bottom:2px solid #000;}
.an-section:last-child{border-bottom:none;}
.an-section-bar{background:#f5f5f5;padding:6px 16px;border-bottom:1px solid #ddd;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;}
.an-section-body{padding:12px 16px;}
.an-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.an-row{display:flex;border-bottom:1px solid #eee;min-height:26px;}
.an-row:last-child{border-bottom:none;}
.an-row-label{width:130px;flex-shrink:0;padding:4px 10px;font-weight:700;color:#555;font-size:9px;text-transform:uppercase;letter-spacing:.3px;background:#fafafa;border-right:1px solid #eee;display:flex;align-items:center;}
.an-row-value{flex:1;padding:4px 10px;display:flex;align-items:center;font-size:10px;}
.an-sub-title{font-size:9px;font-weight:700;color:#999;text-transform:uppercase;letter-spacing:.5px;padding:8px 0 4px;border-bottom:1px solid #eee;}
.an-tbl{width:100%;border-collapse:collapse;font-size:10px;}
.an-tbl thead{background:#000;color:#fff;}
.an-tbl th{padding:5px 8px;text-align:left;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border:1px solid #333;}
.an-tbl td{padding:4px 8px;border:1px solid #ddd;vertical-align:top;}
.an-tbl tbody tr:nth-child(even){background:#fafafa;}
.an-review-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid #ddd;margin-bottom:10px;}
.an-review-meta-item{padding:8px 12px;border-right:1px solid #ddd;text-align:center;}
.an-review-meta-item:last-child{border-right:none;}
.an-review-meta-label{font-size:8px;font-weight:700;text-transform:uppercase;color:#999;}
.an-review-meta-val{font-size:12px;font-weight:700;margin-top:2px;}
/* Right panel */
.va-panel{border:2px solid #000;background:#fff;}
.va-panel-header{background:#000;color:#fff;padding:10px 14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;}
.va-panel-body{padding:14px;}
.va-my-status{padding:14px;text-align:center;margin-bottom:12px;}
.va-my-status.pending{background:#fff8e1;border:1px solid #ffe082;}
.va-my-status.approved{background:#f0fff4;border:1px solid #a5d6a7;}
.va-my-status.rejected{background:#fff5f5;border:1px solid #ef9a9a;}
.va-my-status.waiting{background:#f5f5f5;border:1px solid #ddd;}
.va-my-status-icon{font-size:24px;}
.va-my-status-text{font-size:12px;font-weight:700;margin-top:4px;}
.va-my-status-sub{font-size:9px;color:#888;margin-top:2px;}
.va-level{margin-bottom:8px;border:1px solid #eee;border-radius:4px;overflow:hidden;}
.va-level-head{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#f8f8f8;font-size:10px;font-weight:700;border-bottom:1px solid #eee;}
.va-level-num{width:20px;height:20px;background:#000;color:#fff;border-radius:50%;font-size:8px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.va-level-badge{margin-left:auto;font-size:8px;padding:2px 6px;border-radius:3px;font-weight:700;}
.va-level-badge.pending{background:#eee;color:#555;}
.va-level-badge.active{background:#fff3cd;color:#856404;}
.va-level-badge.completed{background:#d4edda;color:#155724;}
.va-approver{display:flex;align-items:center;gap:8px;padding:5px 10px;font-size:10px;border-bottom:1px solid #f0f0f0;}
.va-approver:last-child{border-bottom:none;}
.va-approver-status{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.va-approver-status.pending{background:#ddd;}
.va-approver-status.approved{background:#155724;}
.va-approver-status.rejected{background:#721c24;}
.va-approver-status.conditions{background:#e65100;}
.va-approver-name{font-weight:600;flex:1;}
.va-approver-dec{font-size:8px;font-weight:700;padding:1px 5px;border-radius:2px;}
.va-approver-dec.approved{background:#d4edda;color:#155724;}
.va-approver-dec.rejected{background:#f8d7da;color:#721c24;}
.va-approver-dec.conditions{background:#fff3e0;color:#e65100;}
.va-act-area{margin-top:12px;}
.va-act-label{font-size:9px;font-weight:700;text-transform:uppercase;color:#555;margin-bottom:4px;}
.va-act-textarea{width:100%;border:1px solid #ddd;padding:8px;font-size:11px;font-family:var(--font-main);resize:vertical;min-height:50px;outline:none;}
.va-act-textarea:focus{border-color:#000;}
.va-act-btns{display:flex;gap:6px;margin-top:10px;}
.va-act-btn{flex:1;padding:10px;border:2px solid #000;font-size:11px;font-weight:700;font-family:var(--font-main);cursor:pointer;text-align:center;text-transform:uppercase;letter-spacing:.3px;}
.va-act-btn.approve{background:#000;color:#fff;}
.va-act-btn.approve:hover{background:#333;}
.va-act-btn.reject{background:#fff;color:#000;}
.va-act-btn.reject:hover{background:#f5f5f5;}
.va-act-btn.cond{background:#fff;color:#000;font-size:9px;}
.va-flow-rejected{padding:12px;background:#fff5f5;border:1px solid #ef9a9a;text-align:center;margin-bottom:12px;}
.va-flow-rejected-text{font-size:11px;font-weight:700;color:#721c24;}

/* === FROM: modules/contractzone/review-contract.php === */

.re-wrap{display:grid;grid-template-columns:1fr 360px;gap:0;margin:-20px;height:calc(100vh - var(--topbar-h));overflow:hidden;}
/* ── Left: Editor ── */
.re-left{display:flex;flex-direction:column;overflow:hidden;background:var(--white);}
.re-top-bar{padding:6px 12px;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;gap:8px;flex-shrink:0;background:var(--gray-50);font-size:10px;}
.re-top-bar .title{flex:1;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);}
.re-active-users{display:flex;gap:-4px;align-items:center;}
.re-av{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;color:#fff;border:2px solid var(--white);margin-left:-6px;cursor:default;position:relative;}
.re-av:first-child{margin-left:0;}
.re-av[title]:hover::after{content:attr(title);position:absolute;top:100%;left:50%;transform:translateX(-50%);font-size:8px;background:var(--black);color:#fff;padding:2px 6px;border-radius:3px;white-space:nowrap;z-index:10;margin-top:2px;}
/* Lock banner */
.re-lock-banner{padding:6px 12px;font-size:10px;font-weight:600;flex-shrink:0;display:flex;align-items:center;gap:6px;}
.re-lock-banner.editing{background:#e8f5e9;color:#2e7d32;border-bottom:1px solid #c8e6c9;}
.re-lock-banner.locked{background:#fff3cd;color:#856404;border-bottom:1px solid #ffe0b2;}
.re-lock-banner.readonly{background:var(--gray-100);color:var(--gray-500);border-bottom:1px solid var(--gray-200);}
/* ═══ MS Word Ribbon Toolbar ═══ */
.re-ribbon{border-bottom:1px solid var(--gray-200);background:var(--white);flex-shrink:0;}
.re-ribbon-tabs{display:flex;gap:0;border-bottom:1px solid var(--gray-200);padding:0 10px;background:var(--gray-50);}
.re-ribbon-tab{padding:5px 14px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gray-500);cursor:pointer;border:none;background:none;font-family:var(--font-main);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s;}
.re-ribbon-tab:hover{color:var(--black);background:var(--gray-100);}
.re-ribbon-tab.active{color:var(--black);background:var(--white);border-bottom-color:var(--black);}
.re-ribbon-panel{display:none;padding:4px 8px;min-height:54px;align-items:stretch;gap:0;}
.re-ribbon-panel.active{display:flex;}
.re-ribbon-group{display:flex;flex-direction:column;padding:0 6px;border-right:1px solid var(--gray-200);gap:1px;}
.re-ribbon-group:last-child{border-right:none;}
.re-ribbon-group-label{font-size:7px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-400);text-align:center;margin-top:auto;padding-top:1px;line-height:1;}
.re-ribbon-row{display:flex;align-items:center;gap:1px;flex-wrap:nowrap;}
.re-tb{width:26px;height:24px;border:none;border-radius:2px;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--gray-600);font-size:11px;font-family:var(--font-main);position:relative;flex-shrink:0;}
.re-tb:hover{background:var(--gray-100);}
.re-tb.active{background:var(--gray-200);color:var(--black);}
.re-tb.disabled{opacity:.3;pointer-events:none;}
.re-tb svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;}
.re-tb-wide{width:auto;padding:0 8px;gap:4px;font-size:9px;font-weight:600;}
.re-tb-sep{width:1px;background:var(--gray-200);margin:2px 2px;align-self:stretch;}
.re-tb-select{height:24px;border:1px solid var(--gray-200);border-radius:2px;background:var(--white);font-size:10px;font-family:var(--font-main);color:var(--gray-700);padding:0 4px;cursor:pointer;outline:none;flex-shrink:0;}
.re-tb-select:hover{border-color:var(--gray-400);}
.re-tb-select:focus{border-color:var(--gray-600);}
.re-tb-select.disabled{opacity:.3;pointer-events:none;}
.re-tb-color{width:26px;height:24px;border:none;border-radius:2px;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;flex-shrink:0;}
.re-tb-color:hover{background:var(--gray-100);}
.re-tb-color.disabled{opacity:.3;pointer-events:none;}
.re-tb-color input[type="color"]{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer;}
.re-tb-color-bar{width:14px;height:3px;border-radius:1px;}
.re-find-bar{display:none;padding:6px 12px;background:var(--gray-50);border-bottom:1px solid var(--gray-200);align-items:center;gap:6px;flex-shrink:0;}
.re-find-bar.show{display:flex;}
.re-find-bar input{flex:1;padding:4px 8px;border:1px solid var(--gray-200);border-radius:3px;font-size:11px;font-family:var(--font-main);outline:none;max-width:180px;}
.re-find-bar input:focus{border-color:var(--gray-600);}
.re-find-bar button{padding:3px 10px;font-size:10px;font-weight:600;border:1px solid var(--gray-300);background:var(--white);border-radius:3px;cursor:pointer;font-family:var(--font-main);}
.re-find-bar button:hover{border-color:var(--gray-600);}
.re-find-bar .re-find-close{width:22px;height:22px;border:none;background:none;cursor:pointer;font-size:14px;color:var(--gray-500);display:flex;align-items:center;justify-content:center;border-radius:2px;}
.re-find-bar .re-find-close:hover{background:var(--gray-200);color:var(--black);}
.re-find-count{font-size:9px;color:var(--gray-500);font-family:var(--font-mono);white-space:nowrap;}
.re-status-bar{display:flex;align-items:center;padding:3px 12px;border-top:1px solid var(--gray-200);background:var(--gray-50);flex-shrink:0;gap:12px;font-size:9px;color:var(--gray-500);font-family:var(--font-mono);}
.re-status-bar span{white-space:nowrap;}
.re-zoom{display:flex;align-items:center;gap:4px;margin-left:auto;}
.re-zoom button{width:20px;height:18px;border:1px solid var(--gray-200);background:var(--white);border-radius:2px;cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;color:var(--gray-600);}
.re-zoom button:hover{border-color:var(--gray-500);color:var(--black);}
.re-img-preview{max-width:100%;max-height:150px;margin-top:8px;border:1px solid var(--gray-200);border-radius:3px;display:none;}
/* Editor — approximating DOCX template look */
.re-editor-wrap{flex:1;overflow-y:auto;position:relative;background:#e8e8e8;}
.re-editor{
    width:794px;max-width:794px;margin:24px auto;padding:72px 72px 60px;min-height:1122px;
    outline:none;font-size:12pt;line-height:1.6;font-family:'Times New Roman','Times',serif;
    color:#000;background-color:#fff;
    background-image:linear-gradient(to bottom,#fff 978px,#e8e8e8 978px,#e8e8e8 1002px,#fff 1002px);
    background-size:100% 1122px;background-repeat:repeat-y;background-origin:padding-box;
    box-shadow:0 2px 12px rgba(0,0,0,.12);border-radius:2px;padding-bottom:100px;
}
.re-editor[contenteditable=false]{cursor:default;}
.re-editor.clickable[contenteditable=false]{cursor:text;}
/* Headings — fallback styling only, inline styles take precedence */
.re-editor h1{font-size:16pt;font-weight:700;margin:18px 0 8px;line-height:1.3;}
.re-editor h2{font-size:14pt;font-weight:700;margin:16px 0 6px;line-height:1.3;}
.re-editor h3{font-size:12pt;font-weight:700;margin:12px 0 4px;line-height:1.3;}
.re-editor h4{font-size:11pt;font-weight:700;margin:10px 0 4px;line-height:1.3;}
/* Paragraphs */
.re-editor p{margin:0 0 6px;text-indent:0;}
.re-editor p:empty{min-height:12pt;}
.re-editor p + p{margin-top:0;}
.re-editor p > strong:only-child{display:block;margin:14px 0 4px;}
/* Lists */
.re-editor ul,.re-editor ol{margin:4px 0 4px 24px;padding:0;}
.re-editor li{margin:2px 0;line-height:1.6;}
/* Tables — signature blocks and data tables */
.re-editor table{border-collapse:collapse;width:100%;margin:10px 0;font-size:11pt;}
.re-editor td,.re-editor th{border:1px solid #999;padding:6px 10px;vertical-align:top;line-height:1.4;}
.re-editor th{font-weight:700;background:#f5f5f5;}
/* Images */
.re-editor img{max-width:100%;height:auto;}
/* Horizontal rule */
.re-editor hr{border:none;border-top:1px solid #000;margin:16px 0;}
/* Blockquote */
.re-editor blockquote{border-left:3px solid #000;margin:10px 0;padding:6px 14px;color:#333;font-style:italic;background:#fafafa;}
/* Code blocks */
.re-editor pre{background:#f5f5f5;border:1px solid #ddd;padding:12px 16px;font-family:'Courier New',monospace;font-size:10pt;border-radius:4px;margin:10px 0;overflow-x:auto;white-space:pre-wrap;}
.re-editor code{background:#f0f0f0;padding:1px 4px;border-radius:2px;font-family:'Courier New',monospace;font-size:10pt;}
/* Links */
.re-editor a{color:#000;text-decoration:underline;}
/* Center-aligned text (title blocks) */
.re-editor [style*="text-align: center"],.re-editor [style*="text-align:center"]{text-align:center !important;}
/* Subscript/superscript */
.re-editor sub{font-size:8pt;} .re-editor sup{font-size:8pt;}
/* Track changes */
ins.tc{text-decoration:none;border-bottom:2px solid;padding:0 1px;border-radius:1px;position:relative;background:rgba(0,128,0,.06);}
del.tc{text-decoration:line-through;opacity:.65;position:relative;padding:0 1px;background:rgba(255,0,0,.06);}
ins.tc::after,del.tc::after{content:attr(data-author);position:absolute;top:-14px;left:0;font-size:7px;font-weight:700;font-family:var(--font-main);padding:0 3px;border-radius:2px;white-space:nowrap;opacity:0;pointer-events:none;background:var(--white);transition:opacity .15s;}
ins.tc:hover::after,del.tc:hover::after{opacity:1;}
ins.tc:hover{background:rgba(0,128,0,.12);}
del.tc:hover{background:rgba(255,0,0,.12);}
/* Accept/Reject buttons on tracked changes */
.tc-actions{display:inline-flex;gap:2px;margin-left:2px;vertical-align:middle;}
.tc-act{width:14px;height:14px;border-radius:2px;border:1px solid var(--gray-300);background:var(--white);cursor:pointer;font-size:8px;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;opacity:0;transition:opacity .15s;}
ins.tc:hover .tc-act,del.tc:hover .tc-act{opacity:1;}
.tc-act.accept{color:#2e7d32;} .tc-act.accept:hover{background:#e8f5e9;border-color:#2e7d32;}
.tc-act.reject{color:#c62828;} .tc-act.reject:hover{background:#fce8e8;border-color:#c62828;}
/* Conflict flag */
.tc-conflict{outline:2px dashed #ff6f00;outline-offset:1px;position:relative;}
.tc-conflict::before{content:'⚠️';position:absolute;top:-14px;right:-4px;font-size:8px;}
/* Final review banner */
.re-final-banner{padding:10px 14px;background:#e3f2fd;border-bottom:1px solid #bbdefb;font-size:10px;color:#1565c0;flex-shrink:0;display:flex;align-items:center;gap:8px;}
.re-completed-banner{padding:10px 14px;background:var(--gray-100);border-bottom:1px solid var(--gray-200);font-size:10px;color:var(--gray-500);flex-shrink:0;}
/* Changes panel accept/reject */
.re-chg-actions{display:flex;gap:3px;margin-top:4px;}
.re-chg-btn{padding:2px 8px;border-radius:3px;font-size:8px;font-weight:700;cursor:pointer;border:1px solid;font-family:var(--font-main);}
.re-chg-btn.accept{background:#e8f5e9;color:#2e7d32;border-color:#c8e6c9;} .re-chg-btn.accept:hover{background:#c8e6c9;}
.re-chg-btn.reject{background:#fce8e8;color:#c62828;border-color:#ffcdd2;} .re-chg-btn.reject:hover{background:#ffcdd2;}
/* Version items */
.ver-item{display:flex;align-items:flex-start;gap:8px;padding:8px;border:1px solid var(--gray-100);border-radius:4px;margin-bottom:4px;background:var(--white);cursor:pointer;font-size:10px;transition:border-color .15s;}
.ver-item:hover{border-color:var(--gray-400);}
.ver-num{width:22px;height:22px;background:var(--black);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;flex-shrink:0;}
.ver-info{flex:1;}
.ver-desc{font-weight:700;margin-bottom:2px;}
.ver-meta{font-size:8px;color:var(--gray-400);}
.ver-current{border-color:var(--black);background:#f5f5f5;}
/* Audit log items */
.aud-item{display:flex;gap:8px;padding:6px 0;border-bottom:1px solid var(--gray-50);font-size:10px;align-items:flex-start;}
.aud-item:last-child{border-bottom:none;}
.aud-dot{width:6px;height:6px;border-radius:50%;background:var(--gray-400);flex-shrink:0;margin-top:4px;}
.aud-dot.green{background:#2e7d32;}.aud-dot.blue{background:#1565c0;}.aud-dot.orange{background:#e65100;}.aud-dot.red{background:#c62828;}
.aud-text{flex:1;color:var(--gray-600);line-height:1.4;}
.aud-text strong{color:var(--black);}
.aud-time{font-size:8px;color:var(--gray-400);flex-shrink:0;white-space:nowrap;}
/* Version viewer overlay */
.ver-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1000;display:none;align-items:center;justify-content:center;}
.ver-overlay.show{display:flex;}
.ver-viewer{background:var(--white);border-radius:8px;width:80%;max-width:800px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;}
.ver-viewer-head{padding:10px 14px;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.ver-viewer-body{flex:1;overflow-y:auto;padding:60px 72px;font-size:12pt;line-height:1.6;font-family:'Times New Roman','Times',serif;}
/* Restrictions */
.cr-blurred{filter:blur(5px);user-select:none;pointer-events:none;-webkit-user-modify:read-only;cursor:not-allowed;}
mark.ob-hl{border-radius:2px;padding:0 1px;cursor:pointer;position:relative;}
mark.ob-hl:hover{outline:2px solid rgba(0,0,0,.2);outline-offset:1px;}
mark.ob-hl.ob-readonly{cursor:default;}
/* Obligation cards */
.obl-card{background:var(--white);border:1.5px solid var(--gray-200);border-radius:5px;margin-bottom:6px;overflow:hidden;transition:border-color .15s;cursor:pointer;}
.obl-card:hover{border-color:var(--gray-400);}
.obl-card.obl-active{border-color:var(--black);box-shadow:0 0 0 1px var(--black);}
.obl-card-head{display:flex;align-items:center;gap:5px;padding:6px 8px;background:var(--gray-50);border-bottom:1px solid var(--gray-100);}
.obl-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0;}
.obl-title{flex:1;font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.obl-type{font-size:7px;font-weight:700;padding:2px 5px;border-radius:2px;text-transform:uppercase;}
.obl-type.payment{background:#fff9c4;color:#f57f17;}.obl-type.compliance{background:#e3f2fd;color:#1565c0;}.obl-type.deliverable{background:#e8f5e9;color:#2e7d32;}.obl-type.reporting{background:#f3e5f5;color:#6a1b9a;}.obl-type.other{background:var(--gray-100);color:var(--gray-600);}
.obl-card-body{padding:6px 8px;font-size:9px;}
.obl-desc{color:var(--gray-600);line-height:1.4;max-height:36px;overflow:hidden;margin-bottom:4px;}
.obl-meta{display:flex;gap:8px;font-size:8px;color:var(--gray-400);}
.obl-actions{display:flex;gap:3px;padding:4px 8px;border-top:1px solid var(--gray-100);background:var(--gray-50);}
.obl-act-btn{padding:2px 6px;border-radius:2px;font-size:7px;font-weight:700;cursor:pointer;border:1px solid;font-family:var(--font-main);}
.obl-act-btn.edit{background:#e3f2fd;color:#1565c0;border-color:#bbdefb;}.obl-act-btn.edit:hover{background:#bbdefb;}
.obl-act-btn.remove{background:#fce8e8;color:#c62828;border-color:#ffcdd2;}.obl-act-btn.remove:hover{background:#ffcdd2;}
/* Pending change banner */
.obl-pending{background:#fff3cd;border:1px solid #ffe0b2;border-radius:3px;padding:4px 6px;margin:4px 8px;font-size:8px;color:#856404;}
.obl-pending-actions{display:flex;gap:3px;margin-top:3px;}
.obl-pending-btn{padding:2px 6px;border-radius:2px;font-size:7px;font-weight:700;cursor:pointer;border:none;font-family:var(--font-main);}
.obl-pending-btn.approve{background:#2e7d32;color:#fff;}.obl-pending-btn.reject{background:#c62828;color:#fff;}
/* Edit obligation modal */
.obl-edit-form{padding:8px;background:var(--gray-50);border-top:1px solid var(--gray-100);}
.obl-edit-form label{font-size:7px;font-weight:700;text-transform:uppercase;color:var(--gray-500);display:block;margin-bottom:2px;margin-top:4px;}
.obl-edit-form input,.obl-edit-form select{width:100%;padding:4px 6px;border:1px solid var(--gray-200);border-radius:3px;font-size:9px;font-family:var(--font-main);}
.obl-edit-form .obl-save-row{display:flex;gap:4px;justify-content:flex-end;margin-top:6px;}
/* ── Right: Panel ── */
.re-right{display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--gray-200);background:var(--gray-50);}
.re-right-head{padding:10px 12px;border-bottom:1px solid var(--gray-200);background:var(--white);flex-shrink:0;}
.re-tabs{display:flex;gap:0;border-bottom:1px solid var(--gray-200);flex-shrink:0;background:var(--white);}
.re-tab{flex:1;padding:7px 4px;text-align:center;font-size:9px;font-weight:700;cursor:pointer;border:none;background:none;color:var(--gray-500);border-bottom:2px solid transparent;font-family:var(--font-main);}
.re-tab.active{color:var(--black);border-bottom-color:var(--black);}
.re-panel{flex:1;overflow-y:auto;padding:10px 12px;display:none;}
.re-panel.active{display:block;}
/* Changes list */
.re-chg{padding:8px;border:1px solid var(--gray-100);border-radius:4px;margin-bottom:4px;background:var(--white);font-size:10px;}
.re-chg-head{display:flex;align-items:center;gap:4px;margin-bottom:3px;}
.re-chg-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.re-chg-author{font-weight:700;font-size:9px;}
.re-chg-time{font-size:8px;color:var(--gray-400);margin-left:auto;}
.re-chg-type{font-size:7px;font-weight:700;padding:1px 4px;border-radius:2px;text-transform:uppercase;}
.re-chg-type.insert{background:#e8f5e9;color:#2e7d32;}
.re-chg-type.delete{background:#fce8e8;color:#c62828;}
.re-chg-text{font-size:9px;color:var(--gray-600);line-height:1.4;margin-top:3px;max-height:40px;overflow:hidden;}
/* Status panel */
.re-level{background:var(--white);border:1px solid var(--gray-200);border-radius:5px;margin-bottom:6px;overflow:hidden;}
.re-level.lv-active{border-color:var(--black);}
.re-lv-head{padding:6px 8px;display:flex;align-items:center;gap:5px;font-size:9px;font-weight:700;background:var(--gray-50);border-bottom:1px solid var(--gray-100);}
.re-level.lv-active .re-lv-head{background:var(--black);color:#fff;}
.re-lv-num{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;flex-shrink:0;}
.re-level .re-lv-num{background:var(--gray-200);color:var(--gray-600);}
.re-level.lv-active .re-lv-num{background:rgba(255,255,255,.2);color:#fff;}
.re-level.lv-completed .re-lv-num{background:#e8f5e9;color:#2e7d32;}
.re-lv-sts{margin-left:auto;font-size:7px;padding:2px 5px;border-radius:2px;}
.re-lv-sts.pending{background:var(--gray-100);color:var(--gray-500);}
.re-lv-sts.active{background:#fff;color:#000;}
.re-lv-sts.completed{background:#e8f5e9;color:#2e7d32;}
.re-rv{display:flex;align-items:center;gap:5px;padding:4px 8px;font-size:9px;}
.re-rv-av{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:7px;font-weight:700;color:#fff;flex-shrink:0;}
.re-rv-name{flex:1;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.re-rv-badge{font-size:7px;font-weight:700;padding:1px 4px;border-radius:2px;}
.re-rv-badge.pending{background:var(--gray-100);color:var(--gray-500);}
.re-rv-badge.approved{background:#e8f5e9;color:#2e7d32;}
.re-rv-badge.current{background:#fff9c4;color:#f57f17;}
.re-lv-arrow{text-align:center;font-size:10px;color:var(--gray-300);padding:2px 0;}
/* My status */
.re-my{border-radius:5px;padding:10px;margin-bottom:8px;font-size:10px;line-height:1.5;}
.re-my.turn{background:#e8f5e9;border:1px solid #c8e6c9;color:#2e7d32;}
.re-my.wait{background:#fff3cd;border:1px solid #ffe0b2;color:#856404;}
.re-my.done{background:var(--gray-100);border:1px solid var(--gray-200);color:var(--gray-500);}
.re-footer{padding:8px 12px;border-top:1px solid var(--gray-200);background:var(--white);flex-shrink:0;display:flex;gap:6px;justify-content:flex-end;}
/* Comments */
.cm-marker{background:#fff9c4;border-bottom:2px dashed #f9a825;cursor:pointer;padding:0 1px;position:relative;}
.cm-marker:hover{background:#fff176;}
.cm-marker::after{content:'💬';font-size:8px;position:absolute;top:-12px;right:-4px;pointer-events:none;}
.cm-float{position:absolute;z-index:100;display:none;background:#f9a825;color:#000;border:none;border-radius:6px;padding:6px 12px;font-size:10px;font-weight:700;font-family:var(--font-main);cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.2);white-space:nowrap;transform:translateX(-50%);}
.cm-float:hover{background:#f57f17;color:#fff;}
.cm-float::after{content:'';position:absolute;bottom:-5px;left:50%;transform:translateX(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #f9a825;}
.cm-thread{background:var(--white);border:1px solid var(--gray-200);border-radius:5px;margin-bottom:6px;overflow:hidden;}
.cm-thread.resolved{opacity:.5;}
.cm-thread-head{padding:6px 8px;background:#fffde7;border-bottom:1px solid #fff9c4;display:flex;align-items:flex-start;gap:6px;}
.cm-thread-quote{font-size:9px;color:var(--gray-500);font-style:italic;padding:4px 8px;border-left:2px solid #f9a825;margin:0 8px 4px;line-height:1.4;max-height:32px;overflow:hidden;}
.cm-msg{padding:6px 8px;border-bottom:1px solid var(--gray-50);}
.cm-msg:last-child{border-bottom:none;}
.cm-msg-head{display:flex;align-items:center;gap:4px;margin-bottom:2px;}
.cm-msg-av{width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:7px;font-weight:700;color:#fff;flex-shrink:0;}
.cm-msg-name{font-size:9px;font-weight:700;}
.cm-msg-time{font-size:7px;color:var(--gray-400);margin-left:auto;}
.cm-msg-text{font-size:10px;color:var(--gray-700);line-height:1.5;}
.cm-reply-box{display:flex;gap:4px;padding:4px 8px;background:var(--gray-50);}
.cm-reply-box input{flex:1;padding:4px 6px;border:1px solid var(--gray-200);border-radius:3px;font-size:9px;font-family:var(--font-main);}
.cm-reply-box input:focus{outline:none;border-color:var(--black);}
.cm-reply-box button{padding:4px 8px;background:var(--black);color:#fff;border:none;border-radius:3px;font-size:8px;font-weight:700;cursor:pointer;font-family:var(--font-main);}
.cm-resolve{font-size:8px;color:var(--gray-400);cursor:pointer;margin-left:auto;text-decoration:underline;}
.cm-resolve:hover{color:var(--black);}
/* Add comment modal */
.cm-add-wrap{background:var(--white);border:1.5px solid #f9a825;border-radius:6px;padding:10px;margin-bottom:8px;}
.cm-add-wrap textarea{width:100%;padding:6px 8px;border:1px solid var(--gray-200);border-radius:4px;font-size:10px;font-family:var(--font-main);resize:vertical;min-height:50px;}
.cm-add-wrap textarea:focus{outline:none;border-color:var(--black);}
.cm-add-actions{display:flex;gap:4px;justify-content:flex-end;margin-top:6px;}

/* ═══ Sign Zone Styles ═══ */
.sd{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:-20px;height:calc(100vh - var(--topbar-h));overflow:hidden;}

/* ── Left: PDF Viewer ── */
.sd-pdf{background:#e8e8e8;display:flex;flex-direction:column;border-right:1px solid var(--gray-300);min-height:0;overflow:hidden;}
.sd-pdf-head{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--white);border-bottom:1px solid var(--gray-200);flex-shrink:0;}
.sd-pdf-title{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gray-500);display:flex;align-items:center;gap:5px;}
.sd-pdf-title svg{width:13px;height:13px;stroke:var(--gray-400);fill:none;stroke-width:2;}
.sd-pdf-chips{display:flex;gap:4px;}
.sd-pdf-chip{font-family:var(--font-mono);font-size:8px;color:var(--gray-500);background:var(--gray-100);padding:2px 7px;border-radius:3px;white-space:nowrap;}
.sd-pdf-body{flex:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:16px;min-height:0;background:repeating-conic-gradient(#e0e0e0 0% 25%, transparent 0% 50%) 50%/16px 16px;}
.sd-pdf-nav{display:flex;align-items:center;justify-content:center;gap:10px;padding:6px 14px;background:var(--white);border-top:1px solid var(--gray-200);flex-shrink:0;}
.sd-pdf-nav button{width:26px;height:26px;border:1px solid var(--gray-300);background:var(--white);border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;color:var(--gray-600);}
.sd-pdf-nav button:hover{border-color:var(--black);color:var(--black);}
.sd-pdf-nav .pn-label{font-family:var(--font-mono);font-size:10px;color:var(--gray-500);}
.sd-pdf-nav .pn-goto{display:flex;gap:4px;}
.sd-pdf-nav .pn-goto button{font-size:8px;font-weight:700;width:auto;padding:0 6px;font-family:var(--font-mono);}
.sd-pdf-nav .pn-goto button.active{background:var(--black);color:var(--white);border-color:var(--black);}

/* ── Right: Panel ── */
.sd-panel{overflow:hidden;background:var(--gray-50);display:flex;flex-direction:column;}

/* Header band */
.sd-hdr{padding:14px 18px 10px;background:var(--white);border-bottom:1px solid var(--gray-200);flex-shrink:0;}
.sd-hdr-row1{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.sd-title{font-size:14px;font-weight:700;color:var(--black);line-height:1.3;letter-spacing:-.2px;flex:1;}
.sd-id{font-size:8px;color:var(--gray-400);font-family:var(--font-mono);margin-top:2px;letter-spacing:.3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.sd-id span{background:var(--gray-100);padding:1px 5px;border-radius:2px;}
.sd-owner{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:4px;margin-top:8px;}
.sd-owner-av{width:26px;height:26px;border-radius:50%;background:var(--gray-200);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:var(--gray-600);flex-shrink:0;}
.sd-owner-info{flex:1;min-width:0;}
.sd-owner-nm{font-size:11px;font-weight:600;color:var(--black);}
.sd-owner-em{font-size:8px;color:var(--gray-500);font-family:var(--font-mono);}
.sd-owner-tag{font-size:7px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--gray-400);margin-left:auto;white-space:nowrap;}

/* Metrics strip */
.sd-metrics{display:grid;grid-template-columns:repeat(5,1fr);background:var(--white);border-bottom:1px solid var(--gray-200);flex-shrink:0;}
.sd-met{padding:8px 6px;text-align:center;border-right:1px solid var(--gray-100);}
.sd-met:last-child{border-right:none;}
.sd-met-v{font-size:16px;font-weight:700;font-family:var(--font-mono);color:var(--black);line-height:1;}
.sd-met-l{font-size:7px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--gray-500);margin-top:2px;}

/* Progress bar */
.sd-exec-bar{height:3px;background:var(--gray-200);flex-shrink:0;}
.sd-exec-fill{height:100%;background:var(--gray-800);transition:width .4s ease;}

/* ── Scrollable content ── */
.sd-scroll{flex:1;overflow-y:auto;padding:10px;}

/* Sections */
.sd-sec{background:var(--white);border:1px solid var(--gray-200);border-radius:5px;margin-bottom:8px;overflow:hidden;}
.sd-sec-hd{padding:8px 12px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--gray-100);cursor:pointer;user-select:none;transition:background .15s;}
.sd-sec-hd:hover{background:var(--gray-50);}
.sd-sec-hd>svg:last-child{width:12px;height:12px;stroke:var(--gray-400);fill:none;stroke-width:2;margin-left:auto;transition:transform .2s;}
.sd-sec.shut .sd-sec-hd>svg:last-child{transform:rotate(-90deg);}
.sd-sec.shut .sd-sec-bd{display:none;}
.sd-sec-bd{padding:0;}
.sd-sec-ct{font-family:var(--font-mono);font-size:8px;background:var(--gray-200);color:var(--gray-600);padding:1px 5px;border-radius:2px;}

/* ═══ Signing Methods ═══ */
.sd-sign{background:var(--white);border:1px solid var(--gray-200);border-radius:5px;margin-bottom:8px;overflow:hidden;}
.sd-sign-top{padding:10px 12px;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;gap:8px;}
.sd-sign-ico{width:26px;height:26px;border-radius:5px;background:var(--black);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.sd-sign-ico svg{width:13px;height:13px;stroke:var(--white);fill:none;stroke-width:2;}
.sd-sign-t{font-size:11px;font-weight:700;color:var(--black);}
.sd-sign-s{font-size:8px;color:var(--gray-500);}
.sd-methods{padding:10px;display:flex;flex-direction:column;gap:5px;}
.sd-mth{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--gray-200);border-radius:5px;cursor:pointer;transition:all .15s;background:var(--white);}
.sd-mth:hover{border-color:var(--gray-400);background:var(--gray-50);}
.sd-mth.off{opacity:.3;cursor:not-allowed;pointer-events:none;}
.sd-mth-ico{width:32px;height:32px;border-radius:6px;background:var(--gray-100);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;}
.sd-mth:hover .sd-mth-ico{background:var(--gray-200);}
.sd-mth-ico svg{width:16px;height:16px;stroke:var(--gray-600);fill:none;stroke-width:1.8;}
.sd-mth-info{flex:1;}
.sd-mth-nm{font-size:11px;font-weight:700;color:var(--black);}
.sd-mth-desc{font-size:8px;color:var(--gray-500);margin-top:1px;}
.sd-mth-arr{color:var(--gray-300);font-size:14px;}

/* Status bar */
.sd-done{margin:0 10px 10px;padding:8px 12px;border-radius:4px;font-size:10px;font-weight:600;display:none;align-items:center;gap:6px;background:var(--gray-100);border:1px solid var(--gray-300);color:var(--gray-800);}
.sd-done.on{display:flex;}
.sd-done svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;flex-shrink:0;}

/* ── Signers ── */
.sd-sgn{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--gray-100);font-size:10px;}
.sd-sgn:last-child{border-bottom:none;}
.sd-sgn-n{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;font-family:var(--font-mono);flex-shrink:0;}
.sd-sgn-n.ss{background:var(--gray-800);color:var(--white);}
.sd-sgn-n.sp{background:var(--gray-200);color:var(--gray-600);}
.sd-sgn-n.sm{background:var(--black);color:var(--white);box-shadow:0 0 0 2px var(--white),0 0 0 3px var(--black);}
.sd-sgn-n.sr{background:var(--gray-500);color:var(--white);}
.sd-sgn-i{flex:1;min-width:0;}
.sd-sgn-nm{font-weight:600;color:var(--black);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;}
.sd-sgn-nm .me{font-size:7px;font-weight:700;background:var(--black);color:var(--white);padding:1px 4px;border-radius:2px;margin-left:3px;vertical-align:middle;letter-spacing:.3px;}
.sd-sgn-em{font-size:8px;color:var(--gray-500);font-family:var(--font-mono);}
.sd-sgn-r{text-align:right;flex-shrink:0;}
.sd-sgn-ts{font-size:7px;color:var(--gray-400);font-family:var(--font-mono);margin-top:2px;}
.sd-sgn-via{font-size:7px;color:var(--gray-400);font-family:var(--font-mono);}

/* ── Detail grid ── */
.sd-dg{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.sd-dg-i{padding:8px 12px;border-bottom:1px solid var(--gray-100);border-right:1px solid var(--gray-100);}
.sd-dg-i:nth-child(even){border-right:none;}
.sd-dg-i:nth-last-child(-n+2){border-bottom:none;}
.sd-dg-l{font-size:7px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-400);margin-bottom:1px;}
.sd-dg-v{font-size:10px;font-weight:600;color:var(--gray-800);}
.sd-dg-v.mn{font-family:var(--font-mono);font-size:9px;}

/* ── Timeline ── */
.sd-tl{max-height:180px;overflow-y:auto;}
.sd-tl-i{display:flex;gap:10px;padding:6px 12px;font-size:10px;position:relative;}
.sd-tl-i::before{content:'';position:absolute;left:17px;top:22px;bottom:-6px;width:1px;background:var(--gray-200);}
.sd-tl-i:last-child::before{display:none;}
.sd-tl-dot{width:12px;height:12px;border-radius:50%;background:var(--gray-200);flex-shrink:0;margin-top:2px;position:relative;z-index:1;}
.sd-tl-dot.d-sign{background:var(--gray-800);}
.sd-tl-dot.d-view{background:var(--gray-400);}
.sd-tl-dot.d-create{background:var(--black);}
.sd-tl-bd{flex:1;min-width:0;}
.sd-tl-txt{color:var(--gray-700);line-height:1.4;}
.sd-tl-txt strong{color:var(--black);font-weight:600;}
.sd-tl-tm{font-size:8px;color:var(--gray-400);font-family:var(--font-mono);margin-top:1px;}

/* ── Bottom bar ── */
.sd-bot{padding:10px 12px;background:var(--white);border-top:1px solid var(--gray-200);flex-shrink:0;}
.sd-bot-row{display:flex;gap:6px;}
.sd-bot-main{flex:1;padding:12px;background:var(--black);color:var(--white);border:none;border-radius:5px;font-size:12px;font-weight:700;cursor:pointer;font-family:var(--font-main);letter-spacing:.3px;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px;}
.sd-bot-main:hover:not(:disabled){background:var(--gray-800);transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,.12);}
.sd-bot-main:disabled{opacity:.25;cursor:not-allowed;transform:none;box-shadow:none;}
.sd-bot-main svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;}
.sd-bot-sec{padding:12px 16px;background:var(--white);color:var(--gray-600);border:1px solid var(--gray-300);border-radius:5px;font-size:11px;font-weight:600;cursor:pointer;font-family:var(--font-main);transition:all .15s;display:flex;align-items:center;gap:5px;}
.sd-bot-sec:hover{border-color:var(--gray-500);color:var(--black);}
.sd-bot-sec svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;}
.sd-bot-hint{text-align:center;font-size:8px;color:var(--gray-400);margin-top:5px;font-family:var(--font-mono);}

/* ── Modals ── */
.sd-modal-pad{border:1px solid var(--gray-300);border-radius:5px;background:var(--white);overflow:hidden;}
.sd-modal-pad canvas{display:block;width:100%;height:180px;cursor:crosshair;}

@media(max-width:1100px){.sd{grid-template-columns:1fr;height:auto;}.sd-pdf{height:50vh;}}

/* === FROM: modules/signzone/view-document.php === */

/* ═══ View Document — 50/50 Split ═══ */
.vd{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:-20px;height:calc(100vh - var(--topbar-h));overflow:hidden;}

/* Left — PDF Viewer */
.vd-pdf{background:#e8e8e8;position:relative;display:flex;flex-direction:column;border-right:1px solid var(--gray-300);min-height:0;overflow:hidden;}
.vd-pdf-head{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--white);border-bottom:1px solid var(--gray-200);flex-shrink:0;}
.vd-pdf-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gray-500);display:flex;align-items:center;gap:6px;}
.vd-pdf-title svg{width:14px;height:14px;stroke:var(--gray-400);fill:none;stroke-width:2;}
.vd-pdf-actions{display:flex;gap:4px;}
.vd-pdf-actions a{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;font-size:10px;font-weight:600;color:var(--gray-600);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:4px;text-decoration:none;transition:all .15s;letter-spacing:.2px;}
.vd-pdf-actions a:hover{border-color:var(--gray-400);color:var(--black);background:var(--white);text-decoration:none;}
.vd-pdf-actions a svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;}
.vd-pdf-body{flex:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:20px;min-height:0;background:repeating-conic-gradient(#e0e0e0 0% 25%, transparent 0% 50%) 50%/16px 16px;}
.vd-pdf-nav{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 16px;background:var(--white);border-top:1px solid var(--gray-200);flex-shrink:0;}
.vd-pdf-nav button{width:28px;height:28px;border:1px solid var(--gray-300);background:var(--white);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;color:var(--gray-600);}
.vd-pdf-nav button:hover{border-color:var(--black);color:var(--black);}
.vd-pdf-nav span{font-family:var(--font-mono);font-size:11px;color:var(--gray-500);}

/* Right — Info Panel */
.vd-info{overflow-y:auto;background:var(--gray-50);display:flex;flex-direction:column;}

/* Header */
.vd-header{padding:16px 20px 12px;background:var(--white);border-bottom:1px solid var(--gray-200);}
.vd-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;}
.vd-doc-title{font-size:16px;font-weight:700;color:var(--black);line-height:1.3;letter-spacing:-.2px;flex:1;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.vd-doc-id{font-family:var(--font-mono);font-size:9px;color:var(--gray-400);margin-top:3px;letter-spacing:.3px;}
.vd-status-pill{flex-shrink:0;}
.vd-progress{margin-top:2px;}
.vd-progress-bar{height:3px;background:var(--gray-200);border-radius:2px;overflow:hidden;}
.vd-progress-fill{height:100%;background:var(--gray-800);border-radius:2px;transition:width .5s ease;}
.vd-progress-label{display:flex;justify-content:space-between;margin-top:4px;font-size:9px;color:var(--gray-500);font-family:var(--font-mono);}

/* Metrics row */
.vd-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--white);border-bottom:1px solid var(--gray-200);}
.vd-metric{padding:12px 16px;text-align:center;border-right:1px solid var(--gray-200);}
.vd-metric:last-child{border-right:none;}
.vd-metric-val{font-size:20px;font-weight:700;font-family:var(--font-mono);color:var(--black);line-height:1;}
.vd-metric-label{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gray-500);margin-top:4px;}

/* Scrollable content */
.vd-content{flex:1;overflow-y:auto;padding:12px;}

/* Section blocks */
.vd-section{background:var(--white);border:1px solid var(--gray-200);border-radius:6px;margin-bottom:10px;overflow:hidden;}
.vd-sec-head{padding:10px 14px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--gray-100);cursor:pointer;user-select:none;transition:background .15s;}
.vd-sec-head:hover{background:var(--gray-50);}
.vd-sec-head svg{width:14px;height:14px;stroke:var(--gray-400);fill:none;stroke-width:2;transition:transform .2s;}
.vd-section.collapsed .vd-sec-head svg{transform:rotate(-90deg);}
.vd-section.collapsed .vd-sec-body{display:none;}
.vd-sec-body{padding:0;}

/* Detail grid */
.vd-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.vd-detail{padding:10px 14px;border-bottom:1px solid var(--gray-100);border-right:1px solid var(--gray-100);}
.vd-detail:nth-child(even){border-right:none;}
.vd-detail:nth-last-child(-n+2){border-bottom:none;}
.vd-detail-label{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-400);margin-bottom:2px;}
.vd-detail-value{font-size:12px;font-weight:600;color:var(--gray-800);}
.vd-detail-value.mono{font-family:var(--font-mono);font-size:11px;}

/* Signer cards */
.vd-signer{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--gray-100);transition:background .1s;}
.vd-signer:last-child{border-bottom:none;}
.vd-signer:hover{background:var(--gray-50);}
.vd-signer-num{width:24px;height:24px;border-radius:50%;background:var(--gray-200);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;font-family:var(--font-mono);color:var(--gray-600);flex-shrink:0;}
.vd-signer.signed .vd-signer-num{background:var(--gray-800);color:var(--white);}
.vd-signer-info{flex:1;min-width:0;}
.vd-signer-name{font-size:12px;font-weight:600;color:var(--black);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.vd-signer-email{font-size:10px;color:var(--gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.vd-signer-right{text-align:right;flex-shrink:0;}
.vd-signer-method{font-size:9px;color:var(--gray-400);font-family:var(--font-mono);margin-top:2px;}
.vd-signer-time{font-size:9px;color:var(--gray-400);font-family:var(--font-mono);}

/* Timeline */
.vd-timeline{max-height:220px;overflow-y:auto;}
.vd-tl-item{display:flex;gap:10px;padding:8px 14px;border-bottom:1px solid var(--gray-100);font-size:11px;position:relative;}
.vd-tl-item:last-child{border-bottom:none;}
.vd-tl-dot{width:6px;height:6px;border-radius:50%;background:var(--gray-400);margin-top:5px;flex-shrink:0;position:relative;}
.vd-tl-item:not(:last-child) .vd-tl-dot::after{content:'';position:absolute;top:8px;left:2.5px;width:1px;height:calc(100% + 12px);background:var(--gray-200);}
.vd-tl-body{flex:1;min-width:0;}
.vd-tl-text{color:var(--gray-700);line-height:1.4;}
.vd-tl-text strong{color:var(--black);}
.vd-tl-time{font-size:9px;color:var(--gray-400);font-family:var(--font-mono);margin-top:1px;}
.vd-tl-empty{padding:20px 14px;text-align:center;color:var(--gray-400);font-size:11px;}

/* Actions bar */
.vd-actions{padding:12px;background:var(--white);border-top:1px solid var(--gray-200);flex-shrink:0;display:flex;gap:6px;flex-wrap:wrap;}
.vd-actions form{display:inline;}
.vd-act-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:11px;font-weight:600;border-radius:5px;cursor:pointer;transition:all .15s;font-family:var(--font-main);letter-spacing:.2px;text-decoration:none;border:1px solid transparent;}
.vd-act-primary{background:var(--black);color:var(--white);border-color:var(--black);}
.vd-act-primary:hover{background:var(--gray-800);text-decoration:none;color:var(--white);}
.vd-act-secondary{background:var(--white);color:var(--gray-700);border-color:var(--gray-300);}
.vd-act-secondary:hover{border-color:var(--gray-500);color:var(--black);text-decoration:none;}
.vd-act-danger{background:var(--white);color:var(--gray-600);border-color:var(--gray-300);}
.vd-act-danger:hover{border-color:#555;color:#222;text-decoration:none;}
.vd-act-delete{background:var(--white);color:#c0392b;border-color:#f5c6c2;}
.vd-act-delete:hover{background:#fef2f2;border-color:#c0392b;color:#9b1c1c;text-decoration:none;}
.vd-act-btn svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;}

@media(max-width:1100px){.vd{grid-template-columns:1fr;height:auto;}.vd-pdf{height:50vh;}}
@media(max-width:768px){.vd-metrics{grid-template-columns:repeat(2,1fr);}.vd-detail-grid{grid-template-columns:1fr;}.vd-detail{border-right:none!important;}}

/* === FROM: modules/signzone/new-document.php === */

/* ═══ Upload Hero ═══ */
.nd-upload{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;margin-bottom:16px;transition:all .3s;overflow:hidden;}
.nd-upload.compact{padding:12px 24px;border-radius:6px;}
.nd-hero{display:flex;flex-direction:column;align-items:center;padding:48px 40px 36px;text-align:center;}
.nd-hero-visual{margin-bottom:24px;}
.nd-hero-svg{width:160px;height:128px;opacity:.9;}
.nd-hero-title{font-size:22px;font-weight:700;color:var(--black);margin-bottom:6px;letter-spacing:-.3px;}
.nd-hero-sub{font-size:12px;color:var(--gray-500);margin-bottom:28px;max-width:400px;}
.nd-hero-form{width:100%;max-width:520px;margin-bottom:28px;}
.nd-hero-fields{margin-bottom:14px;text-align:left;}
.nd-hero-fields .form-group{margin-bottom:0;}
.nd-hero-fields .form-group label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--gray-500);margin-bottom:4px;}
.nd-hero-fields .form-control{padding:10px 14px;font-size:13px;border-color:var(--gray-200);text-align:left;}
.nd-hero-fields .form-control:focus{border-color:var(--black);box-shadow:0 0 0 3px rgba(0,0,0,.04);}
/* Drop zone */
.nd-drop-zone{position:relative;border:2px dashed var(--gray-300);border-radius:8px;padding:28px 20px;cursor:pointer;transition:all .2s;margin-bottom:16px;background:var(--gray-50);}
.nd-drop-zone:hover{border-color:var(--gray-500);background:var(--white);}
.nd-drop-zone.dragover{border-color:var(--black);background:var(--white);box-shadow:0 0 0 4px rgba(0,0,0,.04);}
.nd-drop-zone.has-file{border-style:solid;border-color:var(--gray-300);background:var(--white);padding:14px 20px;}
.nd-drop-input{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:2;}
.nd-drop-content{display:flex;flex-direction:column;align-items:center;gap:8px;}
.nd-drop-icon{width:32px;height:32px;stroke:var(--gray-400);fill:none;stroke-width:2;}
.nd-drop-text{font-size:13px;color:var(--gray-600);}
.nd-drop-text strong{color:var(--black);font-weight:700;}
.nd-drop-hint{font-size:10px;color:var(--gray-400);}
.nd-drop-selected{display:flex;align-items:center;gap:10px;}
.nd-drop-fname{font-size:12px;font-weight:600;font-family:var(--font-mono);color:var(--gray-700);flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.nd-drop-clear{width:24px;height:24px;border:1px solid var(--gray-300);background:var(--white);border-radius:4px;cursor:pointer;font-size:14px;color:var(--gray-500);display:flex;align-items:center;justify-content:center;transition:all .15s;position:relative;z-index:3;}
.nd-drop-clear:hover{background:var(--gray-800);color:var(--white);border-color:var(--gray-800);}
/* Upload button */
.nd-hero-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 32px;background:var(--black);color:var(--white);border:none;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;font-family:var(--font-main);letter-spacing:.3px;}
.nd-hero-btn:hover{background:var(--gray-800);transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,.15);}
.nd-hero-btn:disabled{opacity:.3;cursor:not-allowed;transform:none;box-shadow:none;}
.nd-hero-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;}
/* Steps indicator */
.nd-hero-steps{display:flex;align-items:center;gap:0;margin-top:8px;}
.nd-hs{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--gray-500);font-weight:600;text-transform:uppercase;letter-spacing:.3px;}
.nd-hs-num{width:20px;height:20px;border-radius:50%;background:var(--gray-200);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;font-family:var(--font-mono);color:var(--gray-500);}
.nd-hs-line{width:32px;height:1px;background:var(--gray-300);margin:0 8px;}
/* Doc info bar */
.nd-info{display:none;align-items:center;gap:14px;}
.nd-info.show{display:flex;}
.nd-info-icon{width:40px;height:40px;background:var(--black);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.nd-info-icon svg{width:20px;height:20px;stroke:var(--white);fill:none;stroke-width:2;}
.nd-info-detail{flex:1;}
.nd-info-title{font-weight:700;font-size:14px;}
.nd-info-meta{font-size:10px;color:var(--gray-500);font-family:var(--font-mono);margin-top:1px;}
.nd-info-change{font-size:11px;color:var(--gray-500);cursor:pointer;padding:6px 14px;border:1px solid var(--gray-200);border-radius:4px;background:var(--white);transition:all .15s;}
.nd-info-change:hover{border-color:var(--black);color:var(--black);}

/* ═══ Workspace ═══ */
.nd-workspace{display:none;grid-template-columns:1fr 330px;gap:16px;margin-bottom:20px;}
.nd-workspace.show{display:grid;}

/* PDF Panel */
.nd-pdf{background:var(--white);border:1px solid var(--gray-200);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;}
.nd-pdf-head{padding:10px 16px;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between;}
.nd-pdf-head .nph-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gray-500);}
.nd-pdf-head .nph-zones{font-size:10px;color:var(--gray-400);font-family:var(--font-mono);}
.nd-pdf-viewer{flex:1;overflow:auto;background:#e8e8e8;min-height:560px;display:flex;align-items:flex-start;justify-content:center;padding:20px;background-image:radial-gradient(circle,#d5d5d5 1px,transparent 1px);background-size:16px 16px;}
.nd-pdf-nav{padding:8px 16px;border-top:1px solid var(--gray-200);display:flex;align-items:center;justify-content:center;gap:10px;}
.nd-pdf-nav button{width:30px;height:30px;border:1px solid var(--gray-300);background:var(--white);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;transition:all .15s;}
.nd-pdf-nav button:hover{border-color:var(--black);background:var(--gray-50);}
.nd-pdf-nav span{font-size:11px;font-family:var(--font-mono);color:var(--gray-600);}

/* ═══ Right Panel ═══ */
.nd-rpanel{display:flex;flex-direction:column;gap:10px;}

/* Accordion sections */
.nd-sec{background:var(--white);border:1px solid var(--gray-200);border-radius:6px;overflow:hidden;transition:border-color .2s;}
.nd-sec.active{border-color:var(--gray-400);}
.nd-sec-head{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;transition:all .15s;}
.nd-sec-head:hover{background:var(--gray-50);}
.nd-sec.open .nd-sec-head{border-bottom:1px solid var(--gray-200);}
.nd-sec-head .nsh-left{display:flex;align-items:center;gap:10px;}
.nd-sec-head .nsh-num{width:24px;height:24px;border-radius:50%;background:var(--gray-200);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;font-family:var(--font-mono);color:var(--gray-500);flex-shrink:0;transition:all .2s;}
.nd-sec.done .nsh-num{background:var(--black);color:var(--white);}
.nd-sec.active .nsh-num{background:var(--gray-800);color:var(--white);}
.nd-sec-head .nsh-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-600);}
.nd-sec-head .nsh-badge{font-size:9px;background:var(--gray-200);color:var(--gray-500);padding:2px 8px;border-radius:10px;font-family:var(--font-mono);font-weight:600;}
.nd-sec-head .nsh-chevron{font-size:12px;color:var(--gray-400);transition:transform .2s;display:flex;align-items:center;}
.nd-sec.open .nsh-chevron{transform:rotate(180deg);}
.nd-sec-body{display:none;padding:14px;}
.nd-sec.open .nd-sec-body{display:block;}

/* Compact form inside panels */
.nd-sec-body .form-group{margin-bottom:10px;}
.nd-sec-body .form-group label{font-size:10px;margin-bottom:3px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px;}
.nd-sec-body .form-control{padding:8px 10px;font-size:12px;border-color:var(--gray-200);}
.nd-sec-body .form-control:focus{border-color:var(--black);box-shadow:0 0 0 2px rgba(0,0,0,.05);}
.nd-sec-body textarea.form-control{min-height:50px;}

.nd-wallet-bar{display:flex;align-items:center;justify-content:space-between;background:var(--gray-50);padding:8px 10px;border-radius:4px;border:1px solid var(--gray-200);margin-top:8px;}
.nd-wallet-bar .wb-left{font-size:10px;color:var(--gray-600);}
.nd-wallet-bar .wb-left strong{color:var(--black);font-family:var(--font-mono);}
.nd-wallet-bar .wb-right{font-size:9px;color:var(--gray-400);font-family:var(--font-mono);}
.nd-procure-btn{width:100%;padding:8px;font-size:11px;font-weight:700;background:var(--black);color:var(--white);border:none;border-radius:4px;cursor:pointer;transition:all .15s;font-family:var(--font-main);margin-top:8px;display:flex;align-items:center;justify-content:center;gap:6px;}
.nd-procure-btn:hover{background:var(--gray-800);}
.nd-procure-btn:disabled{opacity:.3;cursor:not-allowed;}
.nd-procure-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;}
.nd-mode-tag{font-size:7px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:1px 5px;border-radius:2px;border:1px solid var(--gray-200);color:var(--gray-500);margin-left:6px;vertical-align:middle;}
@keyframes spin{to{transform:rotate(360deg)}}

/* Signers */
.nd-signer-add{display:flex;gap:6px;margin-bottom:10px;}
.nd-signer-add select{flex:1;font-size:11px;padding:8px 8px;}
.nd-signer-add button{flex-shrink:0;padding:8px 14px;font-size:11px;background:var(--black);color:var(--white);border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:background .15s;font-family:var(--font-main);}
.nd-signer-add button:hover{background:var(--gray-800);}
.nd-chip{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--gray-200);border-left:3px solid var(--gray-400);border-radius:4px;margin-bottom:4px;cursor:pointer;transition:all .15s;}
.nd-chip:hover{background:var(--gray-50);border-color:var(--gray-300);}
.nd-chip.sel{background:var(--gray-100);border-color:var(--gray-600);border-left-color:var(--black);box-shadow:0 1px 4px rgba(0,0,0,.06);}
.nd-chip .nc-ord{width:22px;height:22px;border-radius:50%;background:var(--gray-200);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;font-family:var(--font-mono);color:var(--gray-600);flex-shrink:0;}
.nd-chip.sel .nc-ord{background:var(--black);color:var(--white);}
.nd-chip .nc-info{flex:1;min-width:0;}
.nd-chip .nc-name{font-weight:600;font-size:11px;}
.nd-chip .nc-email{font-size:9px;color:var(--gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.nd-chip .nc-rm{width:20px;height:20px;border:none;background:var(--gray-200);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--gray-600);transition:all .15s;line-height:1;}
.nd-chip .nc-rm:hover{background:var(--black);color:var(--white);}
.nd-hint{font-size:9px;color:var(--gray-400);margin-top:8px;padding:8px;background:var(--gray-50);border-radius:3px;line-height:1.5;border:1px dashed var(--gray-200);}

/* Flow options */
.nd-flow{display:flex;gap:8px;}
.nd-flow-opt{flex:1;padding:12px;border:2px solid var(--gray-200);border-radius:6px;cursor:pointer;text-align:center;transition:all .2s;background:var(--white);}
.nd-flow-opt:hover{border-color:var(--gray-400);background:var(--gray-50);}
.nd-flow-opt.sel{border-color:var(--black);background:var(--gray-50);}
.nd-flow-opt .nfo-icon{font-size:20px;margin-bottom:4px;color:var(--gray-600);}
.nd-flow-opt.sel .nfo-icon{color:var(--black);}
.nd-flow-opt .nfo-title{font-size:11px;font-weight:700;}
.nd-flow-opt .nfo-desc{font-size:9px;color:var(--gray-500);margin-top:2px;}

/* Send button */
.nd-send{background:var(--black);border:1px solid var(--black);border-radius:6px;padding:14px;text-align:center;}
.nd-send .btn{width:100%;padding:0;font-size:14px;font-weight:700;background:none;border:none;color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-main);letter-spacing:.3px;transition:opacity .15s;}
.nd-send .btn:hover{opacity:.9;}
.nd-send .btn:disabled{opacity:.35;cursor:not-allowed;}
.nd-send .btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;}
.nd-send-hint{font-size:9px;color:rgba(255,255,255,.5);margin-top:6px;font-family:var(--font-mono);}

/* Zone overlays */
.pdf-page-wrap{position:relative;display:inline-block;box-shadow:0 4px 20px rgba(0,0,0,.15);border-radius:2px;}
.sig-zone{position:absolute;border:2px dashed;cursor:move;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;z-index:10;background:rgba(0,0,0,.05);transition:box-shadow .15s;}
.sig-zone:hover{box-shadow:0 2px 8px rgba(0,0,0,.12);}
.sig-zone .zone-label{pointer-events:none;}
.sig-zone .zone-delete{position:absolute;top:-8px;right:-8px;width:16px;height:16px;background:var(--black);color:var(--white);border:none;border-radius:50%;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;opacity:0;transition:opacity .15s;}
.sig-zone:hover .zone-delete{opacity:1;}
.sig-zone .zone-resize{position:absolute;bottom:0;right:0;width:10px;height:10px;cursor:nwse-resize;background:currentColor;border-radius:1px;opacity:.5;}

@media(max-width:1100px){.nd-workspace{grid-template-columns:1fr;}}
@media(max-width:768px){.nd-hero{padding:32px 20px 24px;}.nd-hero-svg{width:120px;height:96px;}.nd-hero-title{font-size:18px;}.nd-hero-steps{flex-wrap:wrap;justify-content:center;}.nd-hs-line{width:20px;}}

/* === FROM: modules/estamp/stamp-document.php === */

.sd-wrap{max-width:1200px;margin:0 auto;}
.sd-info{background:#f8f8f8;border:2px solid #000;padding:12px 18px;display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.sd-info-text{flex:1;}.sd-info-title{font-size:13px;font-weight:700;}.sd-info-meta{font-size:10px;color:#888;margin-top:2px;}
.sd-grid{display:grid;grid-template-columns:1fr 380px;gap:16px;min-height:70vh;}
.sd-pdf{border:2px solid #000;background:#fff;overflow:hidden;display:flex;flex-direction:column;}
.sd-pdf iframe{flex:1;border:none;width:100%;min-height:65vh;}
.sd-form{border:2px solid #000;background:#fff;overflow-y:auto;max-height:80vh;}
.sd-form-header{background:#000;color:#fff;padding:10px 16px;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;}
.sd-form-body{padding:14px 16px;}
.sd-field{margin-bottom:10px;}
.sd-field label{display:block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:#888;margin-bottom:3px;}
.sd-field input,.sd-field select,.sd-field textarea{width:100%;border:1px solid #ddd;padding:7px 10px;font-size:11px;font-family:var(--font-main);outline:none;background:#fff;}
.sd-field input:focus,.sd-field select:focus,.sd-field textarea:focus{border-color:#000;}
.sd-field textarea{resize:vertical;min-height:50px;}
.sd-wallet{background:#f8f8f8;border:1px solid #ddd;padding:10px 14px;margin:12px 0;display:flex;justify-content:space-between;align-items:center;}
.sd-wallet-label{font-size:10px;color:#888;font-weight:700;text-transform:uppercase;}
.sd-wallet-val{font-size:16px;font-weight:800;}
.sd-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.sd-actions{padding:14px 16px;border-top:2px solid #000;display:flex;gap:8px;justify-content:flex-end;}
.sd-done{text-align:center;padding:20px;}
.sd-done-icon{font-size:40px;margin-bottom:8px;}
.sd-done-text{font-size:13px;font-weight:700;margin-bottom:4px;}
.sd-done-serial{font-family:monospace;font-size:12px;color:#555;background:#f5f5f5;padding:6px 12px;display:inline-block;margin:6px 0;}

/* === FROM: modules/repo/view-record.php === */

/* ===== MAIN LAYOUT — COLLAPSIBLE LEFT PANEL ===== */
.vr{display:grid;grid-template-columns:50% 50%;gap:0;margin:-20px;height:calc(100vh - var(--topbar-h));overflow:hidden;transition:grid-template-columns .3s ease;}
.vr.collapsed{grid-template-columns:48px 1fr;}

/* Left — PDF */
.vr-pdf{background:#e8e8e8;display:flex;flex-direction:column;border-right:1px solid var(--gray-300);min-height:0;overflow:hidden;position:relative;transition:all .3s ease;}
.vr-pdf-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff;border-bottom:1px solid var(--gray-200);flex-shrink:0;}
.vr-pdf-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);display:flex;align-items:center;gap:6px;}
.vr-pdf-title svg{width:14px;height:14px;stroke:var(--gray-400);fill:none;stroke-width:2;}
.vr-pdf-actions a{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;font-size:10px;font-weight:600;color:var(--gray-600);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:3px;text-decoration:none;margin-left:4px;}
.vr-pdf-actions a:hover{border-color:var(--gray-400);color:var(--black);background:#fff;text-decoration:none;}
.vr-pdf-body{flex:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:16px;background:repeating-conic-gradient(#e0e0e0 0% 25%, transparent 0% 50%) 50%/16px 16px;min-height:0;}
.vr-pdf-nav{display:flex;align-items:center;justify-content:center;gap:10px;padding:6px;background:#fff;border-top:1px solid var(--gray-200);flex-shrink:0;}
.vr-pdf-nav button{width:26px;height:26px;border:1px solid var(--gray-300);background:#fff;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--gray-600);}
.vr-pdf-nav button:hover{border-color:var(--black);color:var(--black);}
.vr-pdf-nav span{font-family:var(--font-mono);font-size:10px;color:var(--gray-500);}
/* PDF expanded container must be a flex column filling the parent so body scrolls and nav stays visible */
.vr-pdf-expanded{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;}

/* Collapsed PDF strip */
.vr-pdf-collapsed-strip{display:none;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;cursor:pointer;gap:10px;padding:8px 0;}
.vr-pdf-collapsed-strip .strip-icon{width:28px;height:28px;background:var(--gray-200);border-radius:4px;display:flex;align-items:center;justify-content:center;}
.vr-pdf-collapsed-strip .strip-icon svg{width:14px;height:14px;stroke:var(--gray-500);fill:none;stroke-width:2;}
.vr-pdf-collapsed-strip .strip-label{writing-mode:vertical-rl;text-orientation:mixed;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);}
.vr-pdf-collapsed-strip .strip-expand{font-size:14px;color:var(--gray-400);transition:transform .2s;}
.vr-pdf-collapsed-strip:hover .strip-expand{transform:translateX(2px);color:var(--black);}
.vr-pdf-collapsed-strip:hover .strip-label{color:var(--black);}

.vr.collapsed .vr-pdf-expanded{display:none !important;}
.vr.collapsed .vr-pdf-collapsed-strip{display:flex !important;}
.vr.collapsed .vr-pdf{background:#fff;border-right:1px solid var(--gray-200);}

/* Collapse toggle button */
.vr-collapse-btn{position:absolute;top:50%;right:-13px;z-index:10;width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid var(--gray-300);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--gray-500);box-shadow:0 1px 4px rgba(0,0,0,.08);transition:all .15s;}
.vr-collapse-btn:hover{border-color:var(--black);color:var(--black);box-shadow:0 2px 8px rgba(0,0,0,.12);}
.vr-collapse-btn svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.5;transition:transform .3s;}
.vr.collapsed .vr-collapse-btn svg{transform:rotate(180deg);}

/* Right — Info: overflow:hidden so it does NOT scroll itself; .vr-content scrolls instead */
.vr-info{overflow:hidden;background:var(--gray-50);display:flex;flex-direction:column;min-height:0;}
.vr-header{padding:14px 18px 10px;background:#fff;border-bottom:1px solid var(--gray-200);flex-shrink:0;}
.vr-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px;}
.vr-title{font-size:15px;font-weight:700;line-height:1.3;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.vr-header-actions{display:flex;gap:6px;flex-shrink:0;align-items:center;}
.vr-fav{background:none;border:none;font-size:18px;cursor:pointer;color:var(--gray-300);padding:2px;}
.vr-fav.active{color:#f9a825;}
/* Missing fields flag */
.vr-flag{padding:8px 14px;background:#fff8e1;border-bottom:1px solid #ffe082;display:flex;align-items:center;gap:8px;font-size:10px;flex-shrink:0;}
.vr-flag-icon{font-size:14px;}
.vr-flag-text{flex:1;color:var(--gray-700);}
.vr-flag-items{display:inline;}
.vr-flag-item{background:#fff3cd;padding:1px 6px;border-radius:2px;font-weight:700;font-size:9px;margin:0 2px;}
.vr-flag-edit{font-size:9px;padding:3px 10px;background:#000;color:#fff;border:none;cursor:pointer;border-radius:2px;font-weight:700;font-family:var(--font-main);}
.vr-ref{font-family:var(--font-mono);font-size:9px;color:var(--gray-400);margin-top:2px;display:flex;flex-wrap:wrap;gap:8px;}
.vr-ref span{background:var(--gray-100);padding:1px 6px;border-radius:2px;}
/* Health + status bar */
.vr-bar{display:flex;align-items:center;gap:12px;padding:10px 18px;background:#fff;border-bottom:1px solid var(--gray-200);flex-shrink:0;}
.vr-health-ring{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;font-family:var(--font-mono);border:3px solid;flex-shrink:0;}
.vr-health-ring.g{border-color:var(--green);color:var(--green);}.vr-health-ring.y{border-color:var(--amber);color:var(--amber);}.vr-health-ring.r{border-color:var(--red);color:var(--red);}
.vr-bar-info{flex:1;}
.vr-bar-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;}
.vr-bar-sub{font-size:9px;color:var(--gray-500);}
.vr-expiry{font-family:var(--font-mono);font-size:11px;font-weight:700;padding:4px 10px;border-radius:3px;white-space:nowrap;}
.vr-expiry.urgent{background:#fdecea;color:var(--red);}.vr-expiry.warn{background:#fff8e1;color:var(--amber);}.vr-expiry.ok{background:#e8f5e9;color:var(--green);}
/* Tabs */
.vr-tabs{display:flex;background:#fff;border-bottom:2px solid var(--gray-200);padding:0 18px;overflow-x:auto;flex-shrink:0;}
.vr-tab{padding:8px 14px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--gray-500);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:color .15s;}
.vr-tab:hover{color:var(--black);}
.vr-tab.active{color:var(--black);border-bottom-color:var(--black);}
.vr-tab .tab-count{font-size:8px;background:var(--gray-200);padding:1px 5px;border-radius:8px;margin-left:4px;font-family:var(--font-mono);}
/* Content  [FIX: added min-height:0 so flex child can shrink & scroll] */
.vr-content{flex:1;overflow-y:auto;padding:12px 18px;min-height:0;}
.vr-panel{display:none;}.vr-panel.active{display:block;}
/* Detail grid */
.vr-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;border:1px solid var(--gray-200);border-radius:4px;overflow:hidden;margin-bottom:12px;}
.vr-detail{padding:8px 12px;border-bottom:1px solid var(--gray-100);border-right:1px solid var(--gray-100);}
.vr-detail:nth-child(2n){border-right:none;}
.vr-detail-label{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-400);}
.vr-detail-value{font-size:12px;font-weight:500;margin-top:1px;}
/* Obligation rows */
.vr-ob{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--gray-100);background:#fff;}
.vr-ob:last-child{border-bottom:none;}
.vr-ob-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.vr-ob-dot.pending{background:var(--gray-400);}.vr-ob-dot.completed{background:var(--green);}.vr-ob-dot.overdue{background:var(--red);}.vr-ob-dot.waived{background:var(--gray-300);}
.vr-ob-info{flex:1;min-width:0;}
.vr-ob-title{font-size:11px;font-weight:600;}
.vr-ob-meta{font-size:9px;color:var(--gray-500);}
.vr-ob-actions{display:flex;gap:4px;align-items:center;}
.vr-ob-btn{font-size:9px;padding:2px 8px;border:1px solid var(--gray-300);background:#fff;cursor:pointer;border-radius:2px;}
.vr-ob-btn:hover{border-color:var(--black);}
.vr-ob-alert-btn{font-size:8px;padding:2px 6px;border:1px solid;border-radius:2px;cursor:pointer;background:none;}
.vr-ob-alert-btn.active{border-color:var(--green);color:var(--green);}.vr-ob-alert-btn.stopped{border-color:var(--red);color:var(--red);}

/* ===== OBLIGATIONS v2 ===== */
.ob2-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px;}
.ob2-stat{background:#fff;border:1px solid var(--gray-200);padding:10px 10px 8px;text-align:center;border-radius:4px;position:relative;overflow:hidden;}
.ob2-stat::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;}
.ob2-stat.s-all::after{background:var(--black);}.ob2-stat.s-done::after{background:var(--green);}.ob2-stat.s-pend::after{background:var(--amber);}.ob2-stat.s-over::after{background:var(--red);}
.ob2-stat-num{font-size:22px;font-weight:800;font-family:var(--font-mono);line-height:1;}
.ob2-stat-label{font-size:7px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--gray-400);margin-top:4px;}
.ob2-card{background:#fff;border:1px solid var(--gray-200);border-radius:4px;margin-bottom:6px;overflow:hidden;display:flex;transition:box-shadow .15s;}
.ob2-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.06);}
.ob2-accent{width:4px;flex-shrink:0;}
.ob2-accent.pending{background:var(--gray-400);}.ob2-accent.completed{background:var(--green);}.ob2-accent.overdue{background:var(--red);}.ob2-accent.waived{background:var(--gray-200);}
.ob2-body{flex:1;padding:10px 12px;min-width:0;}
.ob2-top{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px;}
.ob2-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;background:var(--gray-50);border:1px solid var(--gray-100);}
.ob2-title{font-size:12px;font-weight:700;line-height:1.3;flex:1;min-width:0;}
.ob2-badge{font-size:8px;padding:2px 8px;border-radius:2px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0;}
.ob2-badge.pending{background:var(--gray-100);color:var(--gray-600);}.ob2-badge.completed{background:#e8f5e9;color:var(--green);}.ob2-badge.overdue{background:#fdecea;color:var(--red);}.ob2-badge.waived{background:var(--gray-50);color:var(--gray-400);text-decoration:line-through;}
.ob2-row{display:flex;align-items:center;gap:12px;font-size:10px;color:var(--gray-500);}
.ob2-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:2px;font-size:9px;font-weight:600;}
.ob2-due{font-family:var(--font-mono);font-size:10px;font-weight:600;}
.ob2-due.urgent{color:var(--red);}.ob2-due.warn{color:var(--amber);}.ob2-due.ok{color:var(--gray-600);}
.ob2-progress{height:3px;background:var(--gray-100);border-radius:2px;flex:1;max-width:80px;overflow:hidden;margin-left:auto;}
.ob2-progress-fill{height:100%;border-radius:2px;transition:width .3s;}
.ob2-actions{display:flex;align-items:center;gap:4px;margin-top:6px;padding-top:6px;border-top:1px solid var(--gray-50);}
.ob2-act{font-size:9px;padding:3px 10px;border:1px solid var(--gray-200);background:#fff;cursor:pointer;border-radius:2px;font-weight:600;font-family:var(--font-main);transition:all .1s;}
.ob2-act:hover{border-color:var(--black);background:var(--black);color:#fff;}
.ob2-act.done{border-color:var(--green);color:var(--green);}.ob2-act.done:hover{background:var(--green);color:#fff;}

/* ===== JOURNEY v2 ===== */
.j2-zone-flow{display:flex;align-items:center;gap:0;margin-bottom:14px;background:#fff;border:1px solid var(--gray-200);border-radius:4px;overflow:hidden;}
.j2-zone-seg{flex:1;padding:8px 10px;text-align:center;position:relative;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#fff;display:flex;flex-direction:column;align-items:center;gap:2px;}
.j2-zone-seg .j2-zcount{font-size:14px;font-family:var(--font-mono);font-weight:800;line-height:1;}
.j2-zone-seg.z-cz{background:#1a1a1a;}.j2-zone-seg.z-es{background:#444;}.j2-zone-seg.z-sz{background:#666;}.j2-zone-seg.z-rz{background:#999;}
.j2-zone-seg:not(:last-child)::after{content:'';position:absolute;right:-8px;top:50%;transform:translateY(-50%);width:0;height:0;border:8px solid transparent;border-left-color:inherit;z-index:1;}
.j2-zone-seg.z-cz::after{border-left-color:#1a1a1a;}.j2-zone-seg.z-es::after{border-left-color:#444;}.j2-zone-seg.z-sz::after{border-left-color:#666;}.j2-zone-seg.z-rz::after{border-left-color:#999;}
.j2-timeline{position:relative;padding-left:28px;}
.j2-line{position:absolute;left:13px;top:0;bottom:0;width:2px;background:var(--gray-200);}
.j2-event{position:relative;padding:0 0 16px 20px;}
.j2-event:last-child{padding-bottom:0;}
.j2-node{position:absolute;left:-22px;top:2px;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:7px;font-weight:800;color:#fff;z-index:1;box-shadow:0 0 0 3px #fff;}
.j2-node.z-cz{background:#1a1a1a;}.j2-node.z-es{background:#444;}.j2-node.z-sz{background:#666;}.j2-node.z-rz{background:#999;}
.j2-card{background:#fff;border:1px solid var(--gray-200);border-radius:4px;padding:8px 12px;transition:box-shadow .15s;}
.j2-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.06);}
.j2-card-head{display:flex;align-items:center;gap:8px;margin-bottom:2px;}
.j2-card-action{font-size:11px;font-weight:700;flex:1;}
.j2-card-zone{font-size:7px;padding:2px 6px;border-radius:2px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#fff;}
.j2-card-zone.z-cz{background:#1a1a1a;}.j2-card-zone.z-es{background:#444;}.j2-card-zone.z-sz{background:#666;}.j2-card-zone.z-rz{background:#999;}
.j2-card-detail{font-size:10px;color:var(--gray-500);line-height:1.4;}
.j2-card-footer{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:9px;color:var(--gray-400);font-family:var(--font-mono);}
.j2-card-user{font-family:var(--font-main);font-weight:600;color:var(--gray-600);}

/* ===== LINKS v2 ===== */
.lk2-tree{display:flex;flex-direction:column;align-items:center;gap:0;padding:10px 0;}
.lk2-connector{width:2px;height:20px;background:var(--gray-300);}
.lk2-connector-label{font-size:7px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-400);padding:2px 8px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px;margin:-4px 0;}
.lk2-node{background:#fff;border:2px solid var(--gray-200);border-radius:6px;padding:12px 16px;width:100%;max-width:380px;position:relative;transition:all .15s;}
.lk2-node:hover{border-color:var(--gray-400);box-shadow:0 4px 12px rgba(0,0,0,.06);}
.lk2-node.current{border-color:var(--black);background:var(--black);color:#fff;}
.lk2-node.current .lk2-ref{color:rgba(255,255,255,.5);}.lk2-node.current .lk2-meta{color:rgba(255,255,255,.6);}
.lk2-node.parent{border-style:dashed;}
.lk2-node-head{display:flex;align-items:center;gap:8px;}
.lk2-health{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;font-family:var(--font-mono);border:2px solid;flex-shrink:0;}
.lk2-health.g{border-color:var(--green);color:var(--green);}.lk2-health.y{border-color:var(--amber);color:var(--amber);}.lk2-health.r{border-color:var(--red);color:var(--red);}
.lk2-node.current .lk2-health{border-color:rgba(255,255,255,.3);color:#fff;}
.lk2-node-info{flex:1;min-width:0;}
.lk2-node-title{font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lk2-ref{font-family:var(--font-mono);font-size:9px;color:var(--gray-400);}
.lk2-meta{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:9px;color:var(--gray-500);}
.lk2-rel{font-size:7px;padding:2px 7px;background:var(--gray-100);border-radius:2px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;}
.lk2-node.current .lk2-rel{background:rgba(255,255,255,.15);color:rgba(255,255,255,.7);}
.lk2-children{display:flex;flex-direction:column;align-items:center;gap:0;width:100%;}
.lk2-children-grid{display:grid;grid-template-columns:1fr;gap:6px;width:100%;max-width:380px;}
.lk2-child-actions{position:absolute;top:8px;right:10px;display:flex;gap:4px;}
.lk2-unlink{width:18px;height:18px;border-radius:50%;border:1px solid var(--gray-200);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--gray-400);transition:all .15s;opacity:0;}
.lk2-node:hover .lk2-unlink{opacity:1;}
.lk2-unlink:hover{border-color:var(--red);color:var(--red);background:#fdecea;}
.lk2-empty{text-align:center;padding:20px;color:var(--gray-400);font-size:11px;}
.lk2-add{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border:2px dashed var(--gray-200);border-radius:6px;font-size:10px;font-weight:700;color:var(--gray-400);cursor:pointer;transition:all .15s;max-width:380px;width:100%;margin-top:6px;}
.lk2-add:hover{border-color:var(--black);color:var(--black);background:var(--gray-50);}

/* Notes */
.vr-note{padding:10px 12px;border-bottom:1px solid var(--gray-100);background:#fff;}
.vr-note-head{display:flex;justify-content:space-between;font-size:10px;margin-bottom:4px;}
.vr-note-author{font-weight:700;}.vr-note-date{color:var(--gray-500);font-family:var(--font-mono);font-size:9px;}
.vr-note-text{font-size:12px;line-height:1.5;color:var(--gray-700);}
/* Tags */
.vr-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:3px;font-size:9px;font-weight:600;margin:2px;}
.vr-tag-rm{cursor:pointer;font-size:10px;opacity:.6;}.vr-tag-rm:hover{opacity:1;}
/* Section card */
.vr-section{background:#fff;border:1px solid var(--gray-200);border-radius:4px;margin-bottom:10px;overflow:hidden;}
.vr-sec-head{padding:8px 12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--gray-600);border-bottom:1px solid var(--gray-100);display:flex;justify-content:space-between;align-items:center;}
.vr-empty{padding:20px;text-align:center;font-size:11px;color:var(--gray-400);}
/* Actions bar */
.vr-actions{padding:10px 18px;background:#fff;border-top:1px solid var(--gray-200);display:flex;gap:8px;flex-shrink:0;}

/* ===== EXPANDED DETAIL GRID — 3 columns when collapsed ===== */
.vr.collapsed .vr-detail-grid{grid-template-columns:1fr 1fr 1fr;}
.vr.collapsed .vr-detail:nth-child(2n){border-right:1px solid var(--gray-100);}
.vr.collapsed .vr-detail:nth-child(3n){border-right:none;}


/* ═══ DEMO-SPECIFIC STYLES ═══ */

/* User Switcher Floating Panel */
.us-panel{position:fixed;bottom:20px;right:20px;z-index:9990;width:280px;background:var(--white);border:2px solid var(--black);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.18);overflow:hidden;transition:all .25s ease;}
.us-handle{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;font-size:11px;font-weight:700;background:var(--black);color:#fff;user-select:none;transition:background .15s;}
.us-handle:hover{background:var(--gray-800);}
.us-handle .us-chevron{margin-left:auto;transition:transform .2s;}
.us-panel.open .us-handle .us-chevron{transform:rotate(180deg);}
.us-body{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.us-panel.open .us-body{max-height:400px;}
.us-user{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background .12s;border-bottom:1px solid var(--gray-100);}
.us-user:last-child{border-bottom:none;}
.us-user:hover{background:var(--gray-50);}
.us-user.active{background:var(--gray-100);}
.us-user-info{flex:1;min-width:0;}
.us-user-name{font-size:12px;font-weight:700;}
.us-user-role{font-size:9px;color:var(--gray-500);}
.us-user-check{display:none;font-size:14px;color:var(--green);font-weight:700;}
.us-user.active .us-user-check{display:block;}

/* Flow Navigation Bar */
.flow-bar{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;background:var(--gray-50);border-bottom:1px solid var(--gray-200);min-height:38px;gap:10px;}
.fb-left,.fb-right{flex-shrink:0;}
.fb-center{flex:1;text-align:center;}
.fb-step{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-400);margin-right:6px;}
.fb-label{font-size:11px;font-weight:700;color:var(--black);}
.fb-btn{padding:5px 14px;font-size:10px;font-weight:700;border:1px solid var(--gray-300);background:var(--white);border-radius:4px;cursor:pointer;font-family:var(--font-main);color:var(--gray-600);transition:all .12s;}
.fb-btn:hover{border-color:var(--black);color:var(--black);}
.fb-btn-primary{background:var(--black);color:#fff;border-color:var(--black);}
.fb-btn-primary:hover{background:var(--gray-800);}
.fb-done{font-size:11px;font-weight:700;color:var(--green);}

/* Next zone modal */
.nz-overlay{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.4);}
.nz-overlay.show{display:flex;}
.nz-modal{background:#fff;border-radius:10px;padding:28px;max-width:420px;width:100%;box-shadow:0 16px 48px rgba(0,0,0,.2);}
.nz-modal h3{font-size:15px;margin:0 0 6px;}
.nz-modal p{font-size:11px;color:var(--gray-500);margin:0 0 18px;}
.nz-opt{border:2px solid var(--gray-200);border-radius:8px;padding:12px 16px;cursor:pointer;margin-bottom:8px;display:flex;align-items:center;gap:10px;transition:border-color .15s;}
.nz-opt:hover{border-color:var(--black);}
.nz-opt-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.nz-opt-info{flex:1;}
.nz-opt-name{font-size:12px;font-weight:700;}
.nz-opt-desc{font-size:9px;color:var(--gray-500);}

/* Sign Pad in modal */
.demo-sig-pad{border:2px dashed var(--gray-300);border-radius:6px;height:120px;display:flex;align-items:center;justify-content:center;cursor:crosshair;background:var(--white);margin:10px 0;position:relative;overflow:hidden;}
.demo-sig-pad canvas{position:absolute;inset:0;width:100%;height:100%;}
.demo-sig-pad .sig-placeholder{font-size:11px;color:var(--gray-400);pointer-events:none;}

/* Approval decision panel */
.ap-decision{background:var(--gray-50);border:2px solid var(--gray-200);border-radius:8px;padding:16px;margin:12px 0;}
.ap-decision-title{font-size:12px;font-weight:700;margin-bottom:10px;}
.ap-decision-btns{display:flex;gap:8px;}

/* Misc demo helpers */
.demo-pdf-placeholder{background:#e0e0e0;border:1px solid var(--gray-300);border-radius:4px;display:flex;align-items:center;justify-content:center;min-height:400px;flex:1;}
.demo-pdf-placeholder-inner{text-align:center;color:var(--gray-500);}
.demo-pdf-placeholder-inner svg{width:48px;height:48px;stroke:var(--gray-300);fill:none;stroke-width:1.2;display:block;margin:0 auto 10px;}
.demo-pdf-placeholder-inner p{font-size:11px;}

/* Override for new-document styles */
.nd-wrap{max-width:960px;margin:0 auto;}
.nd-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}


/* ═══ FILL PAGE FIXES ═══ */
.fill-pdf-area .doc-view{
  max-height:none !important;
  overflow:visible !important;
}
.fill-pdf-area{
  flex:1;overflow-y:auto;background:#e0e0e0;padding:16px;
}
/* Placeholder highlight animation */
@keyframes phPulse{0%{box-shadow:0 0 0 0 rgba(76,175,80,.3)}70%{box-shadow:0 0 0 4px rgba(76,175,80,0)}100%{box-shadow:0 0 0 0 rgba(76,175,80,0)}}

/* ═══ PDF PREVIEW — CLEAN WHITE A4 PAGES ═══ */
.fill-pdf-scroll{flex:1;overflow-y:auto;background:#e8e8e8;padding:16px;}
.fill-page{
  width:794px;max-width:100%;margin:0 auto 2px;padding:72px 72px 60px;
  font-family:'Times New Roman','Times',serif;font-size:12pt;line-height:1.7;
  background:#fff;position:relative;min-height:1123px;
  box-shadow:0 1px 4px rgba(0,0,0,.08);
}
.fill-page-break{
  height:4px;background:repeating-linear-gradient(90deg,#ccc 0,#ccc 6px,transparent 6px,transparent 12px);
  margin:0 auto;width:794px;max-width:100%;opacity:.5;
}
.fill-page:last-child{margin-bottom:0;}
.fill-page-footer{
  position:absolute;bottom:16px;left:0;right:0;text-align:center;
  font-size:7.5pt;color:#bbb;font-family:var(--font-mono);
}
/* Reset fill-left to white/light */
.fill-left{background:#e8e8e8 !important;}
.fill-left-head{background:var(--white) !important;border-bottom:1px solid var(--gray-200) !important;}
.fill-left-head-title{color:var(--gray-500) !important;}

/* ═══ CONTENT RESTRICTIONS PAGE ═══ */
.cr-wrap{display:grid;grid-template-columns:1fr 400px;gap:0;margin:-20px;height:calc(100vh - var(--topbar-h));overflow:hidden;}
.cr-left{display:flex;flex-direction:column;border-right:1px solid var(--gray-200);overflow:hidden;background:var(--white);}
.cr-left-head{padding:8px 12px;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;gap:8px;flex-shrink:0;background:var(--gray-50);}
.cr-left-title{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);flex:1;}
.cr-editor-wrap{flex:1;overflow-y:auto;position:relative;background:#e8e8e8;padding:20px;}
.cr-editor{max-width:794px;margin:0 auto;}
.cr-editor h1{font-size:16pt;font-weight:700;margin:18px 0 8px;}.cr-editor h2{font-size:14pt;font-weight:700;margin:16px 0 6px;}.cr-editor h3{font-size:12pt;font-weight:700;margin:12px 0 4px;}.cr-editor p{margin:0 0 6px;}
.cr-editor table{border-collapse:collapse;width:100%;margin:10px 0;font-size:11pt;}.cr-editor td,.cr-editor th{border:1px solid #999;padding:6px 10px;vertical-align:top;}
span.cr-restricted{border:2px solid #e65100;border-radius:3px;padding:0 2px;position:relative;cursor:pointer;background:rgba(255,152,0,.08);}
span.cr-restricted::before{content:'🔒';font-size:8px;position:absolute;top:-10px;left:-2px;}
span.cr-restricted:hover{background:rgba(255,152,0,.15);}
.cr-float{position:absolute;z-index:100;display:none;background:#e65100;color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:10px;font-weight:700;font-family:var(--font-main);cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.25);white-space:nowrap;transform:translateX(-50%);}
.cr-float:hover{background:#bf360c;}
.cr-float::after{content:'';position:absolute;bottom:-5px;left:50%;transform:translateX(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #e65100;}
.cr-right{display:flex;flex-direction:column;overflow:hidden;background:var(--gray-50);}
.cr-right-head{padding:12px 14px;border-bottom:1px solid var(--gray-200);background:var(--white);flex-shrink:0;}
.cr-right-title{font-size:13px;font-weight:700;}.cr-right-sub{font-size:9px;color:var(--gray-500);margin-top:2px;line-height:1.5;}
.cr-list{flex:1;overflow-y:auto;padding:10px 14px;}
.cr-card{background:var(--white);border:1.5px solid #e65100;border-radius:6px;margin-bottom:8px;overflow:hidden;}
.cr-card-head{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#fff3e0;border-bottom:1px solid #ffe0b2;}
.cr-card-head-icon{font-size:12px;}.cr-card-head-title{flex:1;font-size:10px;font-weight:700;color:#e65100;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cr-card-del{width:20px;height:20px;border:1px solid #ffcc80;border-radius:3px;background:none;cursor:pointer;color:#e65100;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}.cr-card-del:hover{background:#fff3e0;border-color:#e65100;}
.cr-card-body{padding:8px 10px;}
.cr-card-text{font-size:10px;color:var(--gray-600);line-height:1.5;max-height:40px;overflow:hidden;background:var(--gray-50);padding:4px 6px;border-radius:3px;margin-bottom:8px;border:1px solid var(--gray-100);}
.cr-card-label{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--gray-500);margin-bottom:4px;}
.cr-user-list{display:flex;flex-wrap:wrap;gap:3px;}
.cr-user-chip{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:12px;font-size:9px;font-weight:600;background:#e3f2fd;color:#1565c0;cursor:default;}
.cr-user-chip button{background:none;border:none;color:#1565c0;cursor:pointer;font-size:10px;padding:0;opacity:.5;}.cr-user-chip button:hover{opacity:1;}
.cr-add-user{margin-top:6px;display:flex;gap:4px;}
.cr-add-user select{flex:1;padding:4px 6px;border:1px solid var(--gray-200);border-radius:3px;font-size:9px;font-family:var(--font-main);}
.cr-add-user-btn{padding:4px 8px;background:#e65100;color:#fff;border:none;border-radius:3px;font-size:8px;font-weight:700;cursor:pointer;font-family:var(--font-main);}
.cr-empty{text-align:center;padding:32px;color:var(--gray-400);font-size:11px;}
.cr-footer{padding:10px 14px;border-top:1px solid var(--gray-200);background:var(--white);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.cr-info-box{background:#fff3e0;border:1px solid #ffe0b2;border-radius:6px;padding:10px 14px;margin-bottom:10px;font-size:10px;color:#e65100;line-height:1.6;}
/* Blurred restricted content */
.cr-blurred{filter:blur(5px);user-select:none;pointer-events:none;}
.cr-restricted-visible{border-bottom:2px solid #e65100;padding-bottom:1px;}

/* ═══ Signature Zone — matches real tool ═══ */
.sig-zone{position:absolute;border:2px dashed;border-radius:2px;cursor:move;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;user-select:none;background:rgba(0,0,0,.04);}
.sig-zone .zone-label{pointer-events:none;white-space:nowrap;}
.sig-zone .zone-delete{position:absolute;top:-7px;right:-7px;width:16px;height:16px;border-radius:50%;background:#fff;border:1.5px solid currentColor;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;color:inherit;opacity:.7;transition:opacity .15s;}
.sig-zone .zone-delete:hover{opacity:1;background:#fee;}
.sig-zone .zone-resize{position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;cursor:nwse-resize;background:currentColor;border-radius:1px;opacity:.4;}
.sig-zone .zone-resize:hover{opacity:.8;}
.sig-zone.signed{border-style:solid;border-color:#2e7d32;color:#2e7d32;background:rgba(27,138,42,.04);cursor:default;}
.sig-zone .zone-sig-img{max-width:calc(100% - 8px);max-height:calc(100% - 14px);object-fit:contain;opacity:.85;}

/* ═══ Visual A4 page breaks in review editor ═══ */
.re-editor h2 {
  padding-top:40px;
  margin-top:0;
}
.re-editor h2::before {
  content:'';
  display:block;
  height:36px;
  margin:-40px -72px 20px;
  background:#d5d5d5;
  border-top:1px solid #bbb;
  border-bottom:1px solid #bbb;
}
.re-editor h2:first-of-type::before {
  display:none;
}
/* A4 page styling for paginated views */
.a4-page h2{font-size:14pt;font-weight:700;margin:16px 0 8px;}
.a4-page p{margin:0 0 6px;}
.a4-page table{width:100%;border-collapse:collapse;font-size:10pt;margin:10px 0;}
.a4-page th,.a4-page td{border:1px solid #999;padding:6px 10px;text-align:left;}
.a4-page th{background:#f0f0f0;font-weight:700;}
.a4-page hr{border:none;border-top:1.5px solid #000;margin:16px 0;}
