*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#0e1726;background-color:#f8fafb;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:600;line-height:1.25;color:#0e1726;letter-spacing:-.02em}h1{font-size:2.25rem;font-weight:700}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin:0}a{color:#0071f3;text-decoration:none;transition:color .15s ease-in-out}a:hover{color:#0053ba}a:focus{outline:2px solid #0071f3;outline-offset:2px}ul,ol{margin:0;padding:0;list-style:none}img,svg{max-width:100%;height:auto;vertical-align:middle}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;cursor:pointer}button:focus,input:focus,select:focus,textarea:focus{outline:2px solid #0071f3;outline-offset:2px}fieldset{min-width:0;padding:0;margin:0;border:0}table{border-collapse:collapse;border-spacing:0}code,kbd,pre,samp{font-family:Fira Code,Monaco,Courier New,monospace;font-size:.875em}#app{min-height:100vh;display:flex;flex-direction:column}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-header{background:#fff;border-bottom:1px solid #e8ecef;padding:1.5rem 2rem;box-shadow:0 2px 4px #0e17260f}.app-header .header-content{display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:0 auto}.app-header .logo{font-size:1.25rem;font-weight:600;color:#0071f3;display:flex;align-items:center;gap:.75rem;transition:color .15s ease-in-out}.app-header .logo:hover{color:#0053ba}.app-header .header-nav{display:flex;gap:.5rem;align-items:center}.app-header .header-nav a{color:#5a6376;font-weight:500;padding:.75rem 1.5rem;border-radius:.75rem;transition:all .15s ease-in-out;font-size:.875rem}.app-header .header-nav a:hover{background:#f0f7ff;color:#0e1726}.app-header .header-nav a.router-link-active{color:#0071f3;background:#e5f2ff;font-weight:600}.app-header .user-info{display:flex;align-items:center;justify-content:center;gap:1rem}.app-header .user-info .user-avatar{width:40px;height:40px;border-radius:9999px;background:#0071f3;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem}.app-header .user-info span{color:#0e1726;font-weight:500}.app-main{flex:1;padding:3rem 0;background:#f8fafb}.app-footer{background:#fff;border-top:1px solid #e8ecef;padding:2.5rem;text-align:center;color:#8c96a8;font-size:.875rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1rem;font-weight:500;cursor:pointer;transition:all .15s ease-in-out;text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:focus{outline:none;box-shadow:0 0 0 3px #0071f34d}.btn{font-weight:500;border-radius:.75rem;padding:.75rem 1.5rem;font-size:.875rem;box-shadow:0 1px 2px #0e17260a;transition:all .15s ease-in-out}.btn.btn-primary{background:#0071f3;color:#fff;border:1px solid #0071f3}.btn.btn-primary:hover:not(:disabled){background:#0053ba;border-color:#0053ba;box-shadow:0 4px 8px #0e172614;transform:translateY(-1px)}.btn.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0e17260a}.btn.btn-secondary{background:#00b8c2;color:#fff;border:1px solid #00b8c2}.btn.btn-secondary:hover:not(:disabled){background:#00909a;border-color:#00909a;box-shadow:0 4px 8px #0e172614;transform:translateY(-1px)}.btn.btn-secondary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0e17260a}.btn.btn-danger{background:#d0332a;color:#fff;border:1px solid #d0332a}.btn.btn-danger:hover:not(:disabled){background:#a62921;box-shadow:0 4px 8px #0e172614;transform:translateY(-1px)}.btn.btn-danger:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0e17260a}.btn.btn-outline{background:transparent;border:1px solid #dde3e9;color:#0e1726;box-shadow:none}.btn.btn-outline:hover:not(:disabled){background:#f0f7ff;border-color:#0071f3;color:#0071f3}.btn.btn-outline:active:not(:disabled){background:#e5f2ff}.btn.btn-sm{padding:.5rem 1rem;font-size:.75rem}.btn.btn-lg{padding:1rem 2rem;font-size:1rem}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:#fff;border:1px solid #dde3e9;border-radius:.75rem;padding:2rem;box-shadow:0 2px 4px #0e17260f;transition:all .25s ease-in-out}.card:hover{box-shadow:0 4px 8px #0e172614}.card{border-radius:1rem;box-shadow:0 2px 4px #0e17260f;border:1px solid #e8ecef}.card.card-interactive{cursor:pointer;transition:all .25s ease-in-out}.card.card-interactive:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0e17261a;border-color:#0071f3}.card .card-header{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e8ecef}.card .card-header h3{margin:0;color:#0e1726;font-weight:600}.card .card-body{color:#5a6376;line-height:1.75}.card .card-footer{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e8ecef;display:flex;align-items:center;justify-content:space-between}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:.5rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.badge.badge-primary{background:#e5f2ff;color:#0053ba}.badge.badge-success{background:#e5f5f2;color:#00916e}.badge.badge-warning{background:#fff3e0;color:#fb8c00}.badge.badge-danger{background:#fbe9e9;color:#d0332a}.badge.badge-secondary{background:#f0f4f6;color:#5a6376}.form-group{margin-bottom:2rem}.form-group label{display:block;margin-bottom:.75rem;font-weight:500;color:#0e1726;font-size:.875rem}.form-group .form-control{width:100%;padding:1rem 1.5rem;border:1px solid #dde3e9;border-radius:.75rem;font-size:1rem;transition:all .15s ease-in-out;background:#fff;color:#0e1726}.form-group .form-control:hover{border-color:#b8c2cc}.form-group .form-control:focus{border-color:#0071f3;outline:none;box-shadow:0 0 0 3px #e5f2ff}.form-group .form-control::placeholder{color:#8c96a8}.form-group textarea.form-control{resize:vertical;min-height:120px;line-height:1.75}.checklist-item{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border:1px solid #e8ecef;border-radius:.75rem;margin-bottom:1rem;background:#fff;transition:all .15s ease-in-out}.checklist-item:hover{border-color:#0071f3;box-shadow:0 2px 4px #0e17260f;background:#f0f7ff}.checklist-item.completed{background:#e5f5f2;border-color:#00916e}.checklist-item.completed .item-text{text-decoration:line-through;color:#5a6376}.checklist-item .item-left{display:flex;align-items:center;gap:1.5rem;flex:1}.checklist-item .item-checkbox{width:20px;height:20px;cursor:pointer;border-radius:.375rem}.checklist-item .item-text{flex:1;color:#0e1726;font-size:1rem;line-height:1.5}.checklist-item .item-required{color:#d0332a;font-weight:600}.checklist-item .item-meta{font-size:.75rem;color:#8c96a8;margin-left:2rem}.checklist-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}.checklist-card{background:#fff;border:1px solid #dde3e9;border-radius:.75rem;padding:2rem;box-shadow:0 2px 4px #0e17260f;transition:all .25s ease-in-out}.checklist-card:hover{box-shadow:0 4px 8px #0e172614}.checklist-card{cursor:pointer;background:#fff;border:1px solid #e8ecef;border-radius:1rem;box-shadow:0 2px 4px #0e17260f;transition:all .25s ease-in-out}.checklist-card:hover{transform:translateY(-4px);border-color:#0071f3;box-shadow:0 8px 16px #0e17261a}.checklist-card .checklist-header{margin-bottom:1.5rem}.checklist-card .checklist-header h3{margin-bottom:.75rem;color:#0e1726;font-weight:600;font-size:1.125rem}.checklist-card .checklist-header p{color:#5a6376;font-size:.875rem;line-height:1.5}.checklist-card .checklist-progress{margin:1.5rem 0}.checklist-card .checklist-progress .progress-bar{height:6px;background:#f0f4f6;border-radius:9999px;overflow:hidden}.checklist-card .checklist-progress .progress-bar .progress-fill{height:100%;background:#0071f3;transition:width .25s ease-in-out;border-radius:9999px}.checklist-card .checklist-progress .progress-text{margin-top:.75rem;font-size:.75rem;color:#8c96a8;font-weight:500}.checklist-card .checklist-footer{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e8ecef;font-size:.75rem;color:#8c96a8}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2rem}.template-card{background:#fff;border:1px solid #dde3e9;border-radius:.75rem;padding:2rem;box-shadow:0 2px 4px #0e17260f;transition:all .25s ease-in-out}.template-card:hover{box-shadow:0 4px 8px #0e172614}.template-card{cursor:pointer;background:#fff;border:1px solid #e8ecef;border-radius:1rem;box-shadow:0 2px 4px #0e17260f;transition:all .25s ease-in-out}.template-card:hover{transform:translateY(-4px);border-color:#0071f3;box-shadow:0 8px 16px #0e17261a}.template-card .template-header{margin-bottom:1.5rem}.template-card .template-header h3{margin-bottom:.75rem;color:#0e1726;font-weight:600;font-size:1.125rem}.template-card .template-header p{color:#5a6376;font-size:.875rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.template-card .template-tags{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}.template-card .template-footer{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e8ecef;font-size:.75rem;color:#8c96a8}.template-card .template-footer .usage-count{display:flex;align-items:center;justify-content:center;gap:.75rem}.signature-pad{border:2px dashed #dde3e9;border-radius:.5rem;background:#f8fafb;cursor:crosshair}.signature-pad.signed{border-style:solid;border-color:#00916e}.signature-actions{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;gap:.75rem}.modal-overlay{position:fixed;inset:0;background:#00000080;z-index:1040;display:flex;align-items:center;justify-content:center}.modal{background:#fff;border-radius:1.25rem;padding:2.5rem;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 16px 32px #0e172624;z-index:1050}.modal::-webkit-scrollbar{width:8px;height:8px}.modal::-webkit-scrollbar-track{background:#f0f4f6;border-radius:.375rem}.modal::-webkit-scrollbar-thumb{background:#dde3e9;border-radius:.375rem}.modal::-webkit-scrollbar-thumb:hover{background:#becad5}.modal .modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #dde3e9}.modal .modal-header h2{margin:0;color:#0e1726}.modal .modal-header .modal-close{background:none;border:none;font-size:1.5rem;color:#5a6376;cursor:pointer;padding:.5rem;line-height:1}.modal .modal-header .modal-close:hover{color:#0e1726}.modal .modal-body{margin-bottom:1.5rem}.modal .modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:1px solid #dde3e9}.search-bar{position:relative;margin-bottom:2rem}.search-bar .search-input{width:100%;padding:1.5rem 2rem 1.5rem 4rem;border:1px solid #dde3e9;border-radius:1rem;font-size:1rem;transition:all .15s ease-in-out;background:#fff;box-shadow:0 1px 2px #0e17260a}.search-bar .search-input:hover{border-color:#b8c2cc}.search-bar .search-input:focus{border-color:#0071f3;outline:none;box-shadow:0 0 0 3px #e5f2ff,0 2px 4px #0e17260f}.search-bar .search-input::placeholder{color:#8c96a8}.search-bar .search-icon{position:absolute;left:1.5rem;top:50%;transform:translateY(-50%);color:#8c96a8;pointer-events:none;font-size:1.125rem}.filter-bar{display:flex;gap:.75rem;margin-bottom:2rem;flex-wrap:wrap}.status-indicator{display:inline-flex;align-items:center;gap:.5rem}.status-indicator .status-dot{width:8px;height:8px;border-radius:9999px}.status-indicator .status-dot.status-active{background:#00916e}.status-indicator .status-dot.status-draft{background:#bdc3c7}.status-indicator .status-dot.status-completed{background:#0071f3}.status-indicator .status-dot.status-archived{background:#5a6376}.empty-state{text-align:center;padding:5rem 2rem;color:#5a6376;background:#fff;border-radius:1rem;border:1px solid #e8ecef}.empty-state .empty-icon{font-size:80px;margin-bottom:2rem;opacity:.2}.empty-state h3{margin-bottom:1rem;color:#0e1726;font-weight:600}.empty-state p{margin-bottom:2rem;color:#5a6376;line-height:1.75}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:3rem}.loading-spinner .spinner{width:40px;height:40px;border:4px solid #f0f4f6;border-top-color:#0071f3;border-radius:9999px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:768px){.checklist-list,.template-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}.container{max-width:1280px;margin:0 auto;padding:0 2rem;width:100%}@media(min-width:768px){.container{padding:0 2.5rem}}@media(min-width:1024px){.container{padding:0 3rem}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-xs{margin-top:.5rem}.mt-sm{margin-top:.75rem}.mt-md{margin-top:1rem}.mt-lg{margin-top:1.5rem}.mt-xl{margin-top:2rem}.mb-xs{margin-bottom:.5rem}.mb-sm{margin-bottom:.75rem}.mb-md{margin-bottom:1rem}.mb-lg{margin-bottom:1.5rem}.mb-xl{margin-bottom:2rem}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-column{display:flex;flex-direction:column}.gap-sm{gap:.75rem}.gap-md{gap:1rem}.gap-lg{gap:1.5rem}
