:root{--green: #1c7c43;--green-dark: #135c30;--bg: #f5f6f4;--card: #ffffff;--text: #1d2620;--muted: #6b7a70;--line: #e2e7e2;--red: #c0392b;--amber: #b7791f;--blue: #2563eb;--teal: #008C95;--teal-dark: #00727a;--teal-light: #cfeff2;--gray: #9EA2A2}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text)}#root{min-height:100vh}a{color:var(--teal);text-decoration:none}h1{font-size:1.5rem;margin:0 0 4px}h2{font-size:1.15rem}h3{font-size:1rem}.app{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--teal);color:#eafafb;padding:18px 0;flex-shrink:0;display:flex;flex-direction:column}.sidebar .brand{padding:4px 18px 14px;border-bottom:1px solid rgba(255,255,255,.22);text-align:center}.sidebar .brand-text{font-weight:700;font-size:1.35rem;color:#fff;font-style:italic;letter-spacing:.5px}.sidebar .brand-text span{color:var(--teal-light);font-style:normal;font-size:.8rem;font-weight:700;vertical-align:super}.brand-logo{max-width:160px;height:auto;display:block;margin:0 auto}.sidebar nav{display:flex;flex-direction:column;margin-top:10px;flex:1}.sidebar nav a{color:#eafafb;padding:10px 18px;border-left:3px solid transparent}.sidebar nav a.active{background:#0000002e;border-left-color:#fff;color:#fff}.sidebar .whoami{padding:12px 18px;font-size:.8rem;color:#d6f0f2;border-top:1px solid rgba(255,255,255,.22)}.sidebar button{margin:8px 18px}.main{flex:1;padding:24px 28px;max-width:1100px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:16px}.grid{display:grid;gap:14px}.grid.cols-3{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}th,td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:none}button,.btn{background:var(--teal);color:#fff;border:none;border-radius:7px;padding:9px 16px;font-size:.9rem;cursor:pointer;font-weight:600}button:hover{background:var(--teal-dark)}button.secondary{background:#eef1f1;color:var(--text);border:1px solid #d9dede}button.danger{background:var(--red)}button.small{padding:4px 10px;font-size:.8rem}button:disabled{opacity:.5;cursor:default}input,select,textarea{width:100%;padding:9px 11px;border:1px solid #c8d2c9;border-radius:7px;font-size:.92rem;font-family:inherit;background:#fff}label{display:block;font-size:.8rem;font-weight:600;color:var(--muted);margin:12px 0 4px}.badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:.74rem;font-weight:700;white-space:nowrap}.badge.completed{background:#e0f2e6;color:var(--green-dark)}.badge.not_started{background:#eef0ee;color:var(--muted)}.badge.in_progress{background:#e3ecfb;color:var(--blue)}.badge.awaiting_review{background:#fdf3e0;color:var(--amber)}.badge.overdue,.badge.expired{background:#fdeaea;color:var(--red)}.stat{text-align:center;padding:14px}.stat .n{font-size:1.9rem;font-weight:800}.stat .l{font-size:.8rem;color:var(--muted)}.stat.red .n{color:var(--red)}.stat.green .n{color:var(--green)}.stat.amber .n{color:var(--amber)}.progressbar{height:8px;background:#e8ece8;border-radius:6px;overflow:hidden;min-width:90px}.progressbar>div{height:100%;background:var(--teal)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-box{width:360px}.error{background:#fdeaea;color:var(--red);padding:10px 12px;border-radius:7px;font-size:.85rem;margin:10px 0}.success{background:#e0f2e6;color:var(--green-dark);padding:10px 12px;border-radius:7px;font-size:.85rem;margin:10px 0}.muted{color:var(--muted);font-size:.85rem}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.pill-tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.pill-tabs button{background:#eef2ee;color:var(--text)}.pill-tabs button.on{background:var(--teal);color:#fff}.sigpad{border:2px dashed #c8d2c9;border-radius:8px;background:#fff;touch-action:none;width:100%}.checkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px}.checkgrid label{display:flex;gap:8px;align-items:center;font-weight:400;margin:0;font-size:.88rem;color:var(--text)}.checkgrid input{width:auto}.doc-content{background:#fafbfa;border:1px solid var(--line);border-radius:8px;padding:16px;margin:12px 0}video{width:100%;border-radius:8px}@media (max-width: 900px){.app{flex-direction:column}.sidebar{width:100%;flex-direction:row;align-items:center;flex-wrap:wrap;padding:8px}.sidebar nav{flex-direction:row;flex-wrap:wrap;margin:0}.sidebar nav a{padding:8px 10px;border-left:none}.sidebar .whoami{border:none}.sidebar .brand{border:none;padding:6px 10px}.main{padding:14px}}.clause{margin:6px 0;line-height:1.45}.ackbox{background:#f4f7f4;border:1px solid #e0e6e0;border-radius:8px;padding:10px 12px;margin:10px 0}.record-head h1{margin:0 0 4px}.record-meta{border-collapse:collapse;margin:6px 0}.record-meta td{padding:2px 12px 2px 0;vertical-align:top}.record-meta td:first-child{color:#6b746b;white-space:nowrap}.record .clause{font-size:13px}.record .filled{margin:4px 0}.record-sign{margin-top:24px;border-top:1px solid #ddd;padding-top:14px}.sig-img{max-width:320px;height:auto;border:1px solid #ddd;border-radius:6px;background:#fff}@media print{.sidebar,.no-print,.pill-tabs{display:none!important}.app{display:block!important}.main{padding:0!important;max-width:none!important}.card{box-shadow:none!important;border:none!important;padding:0!important;margin:0 0 10px!important}.record{font-size:12px;color:#000}.ackbox{background:#fff!important;border:1px solid #ccc}a{color:#000!important;text-decoration:none}}.badge.rejected{background:#fdecec;color:#b42318}.fb-section{border:1px solid #e0e6e0;border-radius:10px;padding:10px 12px;margin:8px 0;background:#fafcfa}.fb-block{border:1px solid #e6ebe6;border-radius:8px;padding:8px 10px;margin:6px 0;background:#fff}.formbuilder label{font-size:13px}.navbadge{display:inline-block;min-width:18px;text-align:center;margin-left:8px;padding:1px 6px;border-radius:10px;background:#b42318;color:#fff;font-size:11px;font-weight:700;vertical-align:middle}.listgrouped{width:100%}.listgrouped .cathead td{padding-top:16px;padding-bottom:4px;font-weight:700;color:#2b3a2f;border-bottom:1px solid #e0e6e0}.listgrouped .col-due{width:150px;white-space:nowrap}.listgrouped .col-status{width:120px}.listgrouped .col-act{width:110px;text-align:right;white-space:nowrap}.matrix{width:100%}.matrix td{vertical-align:middle}.matrix .col-due{width:150px;white-space:nowrap}.matrix .col-status{width:120px}.matrix .col-act{width:240px;text-align:right;white-space:nowrap}.note-assessor{background:#eef6f0;border:1px solid #cfe6d6;border-radius:8px;padding:8px 10px;color:#2b5c3b;font-size:13px}.cp-signoff{background:#f4f7f4;border:1px solid #e0e6e0;border-radius:8px;padding:10px 12px;margin-top:10px}.btnfile{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--teal);color:var(--teal);background:#fff;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600}.btnfile:hover{background:#f0fafa}@media (pointer: coarse){button,.btn{min-height:38px}button.small{min-height:32px}input[type=checkbox],input[type=radio]{width:20px;height:20px}button,a,input,select,label{touch-action:manipulation}}img,canvas,video{max-width:100%}
