*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:#333;background-color:#f5f5f5}a{color:#4a90d9;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit}.container{max-width:1600px;margin:0 auto;padding:0 20px}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.4rem;font-weight:500;color:#555}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.6rem .8rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d91a}.form-group textarea{min-height:100px;resize:vertical}.form-group .error-text{color:#e74c3c;font-size:.85rem;margin-top:.3rem}.btn{display:inline-block;padding:.6rem 1.2rem;border:none;border-radius:4px;font-size:.95rem;font-weight:500;text-align:center;transition:background-color .2s,opacity .2s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:#4a90d9;color:#fff}.btn-primary:hover:not(:disabled){background-color:#357abd}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.btn-danger{background-color:#e74c3c;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c0392b}.btn-success{background-color:#27ae60;color:#fff}.btn-success:hover:not(:disabled){background-color:#219a52}.btn-sm{padding:.35rem .75rem;font-size:.85rem}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem;margin-bottom:1rem}.alert{padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem}.alert-error{background-color:#fde8e8;color:#c0392b;border:1px solid #f5c6cb}.alert-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-info{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}table th,table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #eee}table th{background-color:#f8f9fa;font-weight:600;color:#555}table tr:hover{background-color:#f8f9fa}.pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem}.pagination button{padding:.4rem .8rem;border:1px solid #ddd;background:#fff;border-radius:4px}.pagination button:hover:not(:disabled){background-color:#f0f0f0}.pagination button.active{background-color:#4a90d9;color:#fff;border-color:#4a90d9}.badge{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.8rem;font-weight:500}.badge-draft{background-color:#ffeaa7;color:#856404}.badge-active{background-color:#d4edda;color:#155724}.badge-completed{background-color:#d1ecf1;color:#0c5460}.badge-archived{background-color:#e2e3e5;color:#383d41}.loading{text-align:center;padding:2rem;color:#666}.empty-state{text-align:center;padding:3rem 1rem;color:#888}.empty-state p{margin-bottom:1rem;font-size:1.1rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.page-header h1{font-size:1.5rem;color:#333}.search-bar{display:flex;gap:.5rem;margin-bottom:1.5rem}.search-bar input{flex:1;padding:.6rem .8rem;border:1px solid #ddd;border-radius:4px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:8px;padding:2rem;max-width:500px;width:90%}.modal h3{margin-bottom:1rem}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.5rem}.actions{display:flex;gap:.4rem}html,body{max-width:100%;overflow-x:hidden}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 1024px){.container{padding:0 14px}}@media (max-width: 768px){.container{padding:0 12px}.page-header{flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1rem}.page-header h1{font-size:1.2rem;word-break:break-word}.page-header>div,.actions{flex-wrap:wrap}table th,table td{padding:.5rem .6rem;font-size:.82rem}table{font-size:.85rem}.btn{padding:.55rem 1rem}.btn-sm{padding:.4rem .7rem;font-size:.8rem}.modal{width:94%;max-width:94%;padding:1.25rem;max-height:90vh;overflow-y:auto}.modal-actions{flex-wrap:wrap}.modal-actions .btn{flex:1 1 auto}.search-bar{flex-direction:column}.form-grid-responsive,.modal [style*=grid-template-columns],.modal [style*=gridTemplateColumns]{grid-template-columns:1fr!important}.pagination{flex-wrap:wrap}}@media (max-width: 480px){.page-header h1{font-size:1.05rem}table th,table td{padding:.45rem .5rem;font-size:.78rem}.modal,.card{padding:1rem}}@media (max-width: 640px){.app-navbar{flex-wrap:wrap;height:auto!important;padding:.5rem .9rem!important;row-gap:.5rem}.app-navbar .nav-left{gap:1rem!important;flex-wrap:wrap}.app-navbar .nav-brand{font-size:1rem!important}.app-navbar .nav-links{gap:.15rem!important;flex-wrap:wrap}.app-main{padding:1rem!important}}
