:root{--bg: #f5f6f8;--card: #ffffff;--border: #e1e4ea;--text: #1f2937;--muted: #6b7280;--primary: #2563eb;--primary-hover: #1d4ed8;--danger: #dc2626;--success: #059669;--warning: #d97706}*{box-sizing:border-box}html,body{-webkit-text-size-adjust:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.4}input,select,button,textarea{font:inherit}button{background:var(--primary);color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;margin-right:6px;min-height:40px;touch-action:manipulation}button:hover{background:var(--primary-hover)}button:disabled{background:#94a3b8;cursor:not-allowed}button.danger{background:var(--danger)}button.danger:hover{background:#b91c1c}button.link{background:none;color:var(--primary);padding:0;min-height:auto;text-decoration:underline;text-align:left}button.link:hover{background:none;color:var(--primary-hover)}input,select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:#fff;min-height:40px;font-size:16px}label{display:block;margin:10px 0;color:var(--muted);font-size:14px}label input,label select{margin-top:4px;color:var(--text)}.loading{padding:32px;text-align:center;color:var(--muted)}.error{background:#fee2e2;color:#991b1b;padding:10px 14px;border-radius:6px;margin:10px 0}.success{background:#d1fae5;color:#065f46;padding:10px 14px;border-radius:6px;margin:10px 0}.info{background:#dbeafe;color:#1e3a8a;padding:10px 14px;border-radius:6px;margin:10px 0}.muted{color:var(--muted)}.small{font-size:12px}.ellipsis{max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.login-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(120deg,#1e3a8a,#2563eb);padding:16px}.login-card{width:360px;max-width:100%;background:#fff;padding:28px;border-radius:10px;box-shadow:0 20px 40px #0003}.login-card h1{margin:0}.login-card button{width:100%;margin-top:12px}.oauth-divider{display:flex;align-items:center;text-align:center;color:var(--muted);font-size:12px;margin:18px 0 10px}.oauth-divider:before,.oauth-divider:after{content:"";flex:1;border-bottom:1px solid var(--border)}.oauth-divider span{padding:0 12px}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:6px;background:#fff;color:#3c4043;text-decoration:none;font-weight:500;min-height:40px}.google-btn:hover{background:#f8f9fa}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:16px;background:#fff;border-bottom:1px solid var(--border);padding:10px 20px;position:sticky;top:0;z-index:10}.brand{font-size:20px;font-weight:700;color:var(--primary)}.hamburger{display:none;background:none;color:var(--text);padding:8px;margin:0;flex-direction:column;gap:4px;width:40px;min-height:40px}.hamburger span{display:block;width:22px;height:2px;background:var(--text);border-radius:1px}.hamburger:hover{background:#f3f4f6}.main-nav{display:flex;gap:4px;flex:1}.main-nav a{color:var(--muted);text-decoration:none;padding:8px 14px;border-radius:6px;white-space:nowrap}.main-nav a.active,.main-nav a:hover{background:#eff6ff;color:var(--primary)}.user-box{display:flex;align-items:center;gap:12px}.user-name{font-size:14px;color:var(--muted)}.content{padding:20px;max-width:1200px;width:100%;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:20px;margin-bottom:18px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.right{justify-content:flex-end}.row.between{justify-content:space-between}.centered{text-align:center;padding:24px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden}.data-table th,.data-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border)}.data-table th{background:#f9fafb;font-weight:600}.data-table tr:last-child td{border-bottom:none}.data-table .actions{white-space:nowrap}.data-table .actions button{margin-right:4px}.tabs{display:flex;gap:4px;margin-bottom:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.tab{background:#fff;color:var(--muted);border:1px solid var(--border);white-space:nowrap}.tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:grid;place-items:center;z-index:50;padding:16px}.modal{background:#fff;border-radius:10px;padding:22px;width:480px;max-width:100%;max-height:90vh;overflow-y:auto}.modal.wide{width:800px}.sortable-steps{list-style:none;padding:0;margin:0;border:1px dashed var(--border);border-radius:6px;min-height:60px}.sortable-steps li{display:grid;grid-template-columns:24px 24px 1fr auto auto;gap:8px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);background:#fff;cursor:move}.sortable-steps li:last-child{border-bottom:none}.sortable-steps li.over{background:#eff6ff}.sortable-steps .handle{color:var(--muted)}.sortable-steps .order{background:var(--primary);color:#fff;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;font-size:12px;font-weight:600}.sortable-steps .arrows button{padding:4px 8px;margin:0 2px;font-size:10px;min-height:auto}.available-list{list-style:none;padding:0;margin:0}.available-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);gap:8px}.pending-list,.notification-list{list-style:none;padding:0;margin:0}.pending-list li{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border);gap:12px;flex-wrap:wrap}.pending-list li:last-child{border-bottom:none}.sign-controls{display:flex;gap:8px}.sign-controls input{width:140px}.notification-list li{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);gap:12px;flex-wrap:wrap}.notification-list li:last-child{border-bottom:none}.notification-list li.unread{font-weight:600}.notification-list li.read{color:var(--muted)}.process-summary{font-size:13px}.signed-by{list-style:none;padding:0;margin:0;font-size:13px}.signed-by li{padding:1px 0}button.link.small{font-size:12px}.modal.pdf-editor{width:95vw;max-width:95vw;height:95vh;max-height:95vh;padding:16px;display:flex;flex-direction:column}.pdf-editor .grid-2{grid-template-columns:320px minmax(0,1fr);flex:1;min-height:0;overflow:hidden}.pdf-editor .grid-2>div{overflow:auto;height:100%;padding-right:8px}.pdf-editor .pdf-canvas-wrap{overflow:visible;max-width:none}.pdf-canvas-wrap{position:relative;display:inline-block;max-width:100%;overflow:auto;border:1px solid var(--border);background:#f3f4f6}.pdf-canvas-wrap canvas{display:block}.pdf-overlay{position:absolute;top:0;right:0;bottom:0;left:0;cursor:crosshair}.placement-box{position:absolute;background:#2563eb26;border:2px dashed var(--primary);color:var(--primary);font-size:12px;font-weight:600;display:grid;place-items:center;cursor:pointer;border-radius:3px}.placement-box:hover{background:#dc262633;border-color:var(--danger);color:var(--danger)}.signer-list,.placement-list{list-style:none;padding:0;margin:0}.signer-list li,.placement-list li{display:flex;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--border)}.signer-list li:last-child,.placement-list li:last-child{border-bottom:none}.placement-list li select{flex:1}button.small{padding:4px 8px;min-height:32px;font-size:13px}.password-input{position:relative;display:block}.password-input input{padding-right:44px}.password-input .pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;color:var(--muted);border:none;padding:4px 8px;min-height:auto;font-size:16px;cursor:pointer;margin:0}.password-input .pw-toggle:hover{background:transparent;color:var(--primary)}.phase-steps{list-style:none;padding:0;margin:0 0 16px;display:flex;gap:4px}.phase-steps li{flex:1;text-align:center;padding:8px 12px;background:#f3f4f6;color:var(--muted);border-radius:6px;font-size:13px}.phase-steps li.active{background:var(--primary);color:#fff;font-weight:600}.phase-steps li.done{background:#d1fae5;color:#065f46}.stub-otp{background:#fef3c7;border:1px dashed #d97706;border-radius:8px;padding:12px 16px;margin:12px 0;text-align:center}.stub-otp-code{display:block;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:32px;letter-spacing:6px;color:#92400e;margin:6px 0}.state-active{color:var(--success);font-weight:600}.state-pending{color:var(--warning);font-weight:600}.namirial-form h4{margin-top:18px;margin-bottom:6px}.namirial-form{margin-top:16px}.cert-list{list-style:none;padding:0;margin:0}.cert-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.cert-item:last-child{border-bottom:none}.cert-info{flex:1;min-width:0}.cert-actions{display:flex;gap:6px;flex-wrap:wrap}@media (max-width: 800px){.grid-2{grid-template-columns:1fr}}@media (max-width: 720px){.topbar{padding:10px 16px;gap:12px;flex-wrap:nowrap}.hamburger{display:flex}.brand{font-size:18px}.main-nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--border);flex-direction:column;gap:2px;padding:8px;box-shadow:0 8px 20px #00000014;display:none}.main-nav.open{display:flex}.main-nav a{padding:12px 14px;font-size:16px}.user-box .user-name{display:none}.content{padding:14px}.card{padding:16px}.page-head h2{font-size:20px;margin:0}.data-table,.data-table thead,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table thead{display:none}.data-table tr{background:#fff;border:1px solid var(--border);border-radius:8px;margin-bottom:8px;padding:10px 12px}.data-table td{border-bottom:none;padding:4px 0}.data-table td:before{content:attr(data-label);display:block;font-size:11px;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.data-table .actions{padding-top:8px}.sortable-steps li{grid-template-columns:24px 24px 1fr;grid-template-rows:auto auto;row-gap:6px}.sortable-steps li .arrows,.sortable-steps li>button.danger{grid-column:1 / -1;justify-self:end}.pending-list li,.notification-list li{align-items:flex-start;flex-direction:column}.sign-controls{width:100%}.sign-controls input{flex:1}.modal{padding:16px}.modal.wide{width:100%}.stub-otp-code{font-size:26px;letter-spacing:4px}}
