body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f4f7f6;color:#333}.app-container{display:flex;flex-direction:column;align-items:center;padding:40px 20px;min-height:100vh;box-sizing:border-box}.form-container{width:100%;max-width:800px;background-color:#fff;padding:30px 40px;border-radius:12px;box-shadow:0 10px 25px #00000014;box-sizing:border-box}.form-container h2{text-align:center;margin-top:0;margin-bottom:10px;color:#222}.form-container p{text-align:center;margin-bottom:30px;color:#555}hr{border:none;border-top:1px solid #eee;margin:30px 0}fieldset{border:1px solid #ddd;padding:20px;border-radius:8px;margin-bottom:25px}fieldset legend{padding:0 10px;font-weight:600;font-size:1.1rem;color:#333}.form-group{margin-bottom:20px;display:flex;flex-direction:column}.form-group label{font-weight:600;margin-bottom:8px;font-size:.95rem;color:#444}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group input[type=date],.form-group input[type=tel],.form-group select,.form-group textarea{width:100%;padding:12px;border:1px solid #ccc;border-radius:6px;box-sizing:border-box;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff33}.form-group textarea{resize:vertical;min-height:80px}.error-message{color:#d93025;font-size:.85rem;margin-top:5px;margin-bottom:0}.form-group-checkbox{display:flex;align-items:flex-start;margin-bottom:20px;padding:15px;background-color:#f9f9f9;border-radius:6px}.form-group-checkbox input[type=checkbox]{margin-top:5px;margin-right:12px;flex-shrink:0;width:16px;height:16px}.form-group-checkbox label{font-weight:400;line-height:1.6;font-size:.9rem;margin:0}.disclosure-box{background-color:#f8f9fa;border:1px solid #dee2e6;padding:15px;border-radius:6px;max-height:250px;overflow-y:auto;margin-bottom:20px;font-size:.9rem;line-height:1.5;color:#495057;text-align:justify}.disclosure-box p{margin-bottom:10px}.legal-notice{font-size:.8rem;color:#666;background-color:#fff3cd;border:1px solid #ffeeba;padding:10px;border-radius:4px;margin-bottom:20px}.dynamic-section{border:1px dashed #bbb;padding:20px;margin-bottom:20px;border-radius:8px;background-color:#fafafa}.dynamic-section h4{margin-top:0;border-bottom:1px solid #eee;padding-bottom:10px}.signature-pad-container{border:1px dashed #777;border-radius:6px;position:relative;height:200px}.signature-canvas{width:100%;height:100%;border-radius:6px}.clear-signature-button{position:absolute;top:8px;right:8px;background-color:#fff;color:#333;border:1px solid #ccc;font-size:.8rem;padding:4px 8px;cursor:pointer}.clear-signature-button:hover{background-color:#f4f4f4}button{padding:12px 20px;font-size:1rem;font-weight:600;border-radius:6px;border:none;cursor:pointer;transition:background-color .2s,transform .1s,box-shadow .2s;font-family:inherit}button:active{transform:translateY(1px)}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}.submit-button{background-color:#007bff;color:#fff;width:100%;margin-top:10px}.submit-button:hover{background-color:#0056b3;box-shadow:0 2px 5px #007bff4d}.submit-button:disabled{background-color:#a0a0a0;cursor:not-allowed;box-shadow:none}.draft-button{background-color:#6c757d;color:#fff}.draft-button:hover{background-color:#5a6268}.logout-button{background-color:transparent;color:#d93025;border:1px solid #d93025;padding:6px 12px;font-size:.9rem}.logout-button:hover{background-color:#d93025;color:#fff}.add-button{background-color:#e8f5e9;color:#28a745;border:1px dashed #28a745;font-size:.9rem;padding:10px 15px;width:100%;margin-top:15px}.add-button:hover{background-color:#d4edda}.remove-button{background-color:transparent;color:#dc3545;border:1px solid #dc3545;font-size:.85rem;padding:6px 10px;margin-top:15px;align-self:flex-start}.remove-button:hover{background-color:#dc3545;color:#fff}.secondary-button{background-color:transparent;color:#007bff;border:1px solid #007bff;width:100%;padding:10px;font-weight:500}.secondary-button:hover{background-color:#f0f8ff}.divider{display:flex;align-items:center;text-align:center;margin:20px 0;color:#888;font-size:.85rem}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid #eee}.divider:not(:empty):before{margin-right:.5em}.divider:not(:empty):after{margin-left:.5em}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;width:100%;margin-top:20px}.dashboard-card{background:#fff;padding:25px;border-radius:10px;box-shadow:0 4px 6px #0000001a;border-left:5px solid #007bff;transition:transform .2s;display:flex;flex-direction:column;justify-content:space-between}.dashboard-card:hover{transform:translateY(-3px)}.dashboard-card h3{margin-top:0;color:#333}.dashboard-card p{color:#666;font-size:.9rem;text-align:left;margin-bottom:15px}.card-completed{border-left-color:#28a745;background-color:#f8fff9}.card-completed h3:after{content:" ✓";color:#28a745}.card-locked{border-left-color:#6c757d;background-color:#f2f2f2;opacity:.9}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:700;margin-bottom:10px}.badge-pending{background:#fff3cd;color:#856404}.badge-success{background:#d4edda;color:#155724}.badge-locked{background:#e2e3e5;color:#383d41}.action-button{background-color:#007bff;color:#fff;border:none;padding:10px;border-radius:5px;cursor:pointer;width:100%;font-weight:600}.action-button:disabled{background-color:#ccc;cursor:not-allowed}.admin-table{width:100%;border-collapse:collapse;margin-top:20px;background:#fff;box-shadow:0 2px 8px #0000001a;border-radius:8px;overflow:hidden}.admin-table th,.admin-table td{padding:15px;text-align:left;border-bottom:1px solid #eee}.admin-table th{background-color:#f8f9fa;font-weight:600;color:#444}.status-dot{height:10px;width:10px;background-color:#ccc;border-radius:50%;display:inline-block;margin-right:5px}.status-dot.green{background-color:#28a745}.status-dot.red{background-color:#dc3545}.status-dot.orange{background-color:#ffc107}.btn-approve{background-color:#28a745;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:.85rem}.btn-revoke{background-color:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:.85rem}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:#f4f7f6}
